35 log_error(
"Trying to register multiple at_thread_exit callbacks.");
189#elif defined(FREECIV_HAVE_PTHREAD)
337#elif defined(FREECIV_HAVE_WINTHREADS)
374 if (*thread ==
nullptr) {
452#error "No working thread implementation"
457#ifndef FREECIV_HAVE_THREAD_COND
492#ifdef FREECIV_HAVE_THREAD_COND
static int fc_thread_wrapper(void *arg)
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)
static void at_thread_exit(void)
void fc_thread_wait(fc_thread *thread)
fc_thread_id fc_thread_self(void)
bool has_thread_cond_impl(void)
bool register_at_thread_exit_callback(at_thread_exit_cb *cb)
void fc_thread_cond_init(fc_thread_cond *cond)
bool fc_threads_equal(fc_thread_id thr1, fc_thread_id thr2)
void fc_mutex_destroy(fc_mutex *mutex)
static at_thread_exit_cb * ate_cb
void() at_thread_exit_cb(void)
#define log_error(message,...)
void fc_usleep(unsigned long usec)