22#include "freeciv_config.h"
27#ifdef FREECIV_HAVE_TINYCTHR
28#include "fc_tinycthread.h"
29#define FREECIV_C11_THR
31#ifdef FREECIV_HAVE_C11_THREADS
33#define FREECIV_C11_THR
39#define fc_thread thrd_t
41#define fc_thread_cond cnd_t
43#elif defined(FREECIV_HAVE_PTHREAD)
47#define fc_thread pthread_t
48#define fc_mutex pthread_mutex_t
49#define fc_thread_cond pthread_cond_t
51#elif defined (FREECIV_HAVE_WINTHREADS)
54#define fc_thread HANDLE *
55#define fc_mutex HANDLE *
57#ifndef FREECIV_HAVE_THREAD_COND
58#define fc_thread_cond char
60#warning FREECIV_HAVE_THREAD_COND defined but we have no real Windows implementation
65#error "No working thread implementation"
void fc_mutex_allocate(fc_mutex *mutex)
void fc_thread_cond_destroy(fc_thread_cond *cond)
int fc_thread_start(fc_thread *thread, void(*function)(void *arg), void *arg)
void fc_mutex_init(fc_mutex *mutex)
void fc_thread_cond_signal(fc_thread_cond *cond)
void fc_thread_cond_wait(fc_thread_cond *cond, fc_mutex *mutex)
void fc_mutex_release(fc_mutex *mutex)
void fc_thread_wait(fc_thread *thread)
bool has_thread_cond_impl(void)
void fc_thread_cond_init(fc_thread_cond *cond)
void fc_mutex_destroy(fc_mutex *mutex)