Project

General

Profile

Feature #1434 » 0068-Add-fc_thread_self-and-fc_threads_equal.patch

Marko Lindqvist, 05/23/2025 08:02 PM

View differences:

utility/fcthread.c
thrd_join(*thread, return_value);
}
/*******************************************************************//**
Get thread id
***********************************************************************/
fc_thread_id fc_thread_self(void)
{
return thrd_current();
}
/*******************************************************************//**
Tell if two threads are the same
***********************************************************************/
bool fc_threads_equal(fc_thread_id thr1, fc_thread_id thr2)
{
return thrd_equal(thr1, thr2);
}
/*******************************************************************//**
Initialize mutex
***********************************************************************/
......
pthread_join(*thread, return_value);
}
/*******************************************************************//**
Get thread id
***********************************************************************/
fc_thread_id fc_thread_self(void)
{
return pthread_self();
}
/*******************************************************************//**
Tell if two threads are the same
***********************************************************************/
bool fc_threads_equal(fc_thread_id thr1, fc_thread_id thr2)
{
return pthread_equal(thr1, thr2);
}
/*******************************************************************//**
Initialize mutex
***********************************************************************/
......
CloseHandle(*thread);
}
/*******************************************************************//**
Get thread id
***********************************************************************/
fc_thread_id fc_thread_self(void)
{
return GetCurrentThreadId();
}
/*******************************************************************//**
Tell if two threads are the same
***********************************************************************/
bool fc_threads_equal(fc_thread_id thr1, fc_thread_id thr2)
{
return thr1 == thr2;
}
/*******************************************************************//**
Initialize mutex
***********************************************************************/
utility/fcthread.h
#define fc_thread thrd_t
#define fc_mutex mtx_t
#define fc_thread_cond cnd_t
#define fc_thread_id thrd_t
#elif defined(FREECIV_HAVE_PTHREAD)
......
#define fc_thread pthread_t
#define fc_mutex pthread_mutex_t
#define fc_thread_cond pthread_cond_t
#define fc_thread_id pthread_t
#elif defined (FREECIV_HAVE_WINTHREADS)
#include <windows.h>
#define fc_thread HANDLE *
#define fc_mutex HANDLE *
#define fc_thread_id DWORD
#ifndef FREECIV_HAVE_THREAD_COND
#define fc_thread_cond char
......
int fc_thread_start(fc_thread *thread, void (*function) (void *arg), void *arg);
void fc_thread_wait(fc_thread *thread);
fc_thread_id fc_thread_self(void);
bool fc_threads_equal(fc_thread_id thr1, fc_thread_id thr2);
void fc_mutex_init(fc_mutex *mutex);
void fc_mutex_destroy(fc_mutex *mutex);
(1-1/2)