diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2021-07-21 12:12:26 +0200 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2021-07-21 12:16:20 +0200 |
| commit | c6eccf6137fae2c2f158af6bdc393d70d832b9e9 (patch) | |
| tree | 2e63401119d1f9804d407bf6205e4de9305a45f6 /src | |
| parent | 15f1b6b5c4783695769d3342b85b26b3e7bd29bd (diff) | |
Call pthread's recursive mutex on Linux (Issue #245)
Add CMake test for PTHREAD_MUTEX_RECURSIVE
Add autoconf/configure compile test for PTHREAD_MUTEX_RECURSIVE
Replace "#ifdef PTHREAD_MUTEX_RECURSIVE"
with "#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE"
and define HAVE_PTHREAD_MUTEX_RECURSIVE in config.h
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Posix/Fl_Posix_System_Driver.cxx | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx index 68ae75869..b1a30235d 100644 --- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx +++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx @@ -193,7 +193,7 @@ static void* quadruple_dlopen(const char *libname) } return ptr; } -#endif +#endif // HAVE_DLSYM && HAVE_DLFCN_H && !defined (__APPLE_CC__) /** @@ -332,7 +332,7 @@ static void unlock_function_std() { if (!--counter) pthread_mutex_unlock(&fltk_mutex); } -# ifdef PTHREAD_MUTEX_RECURSIVE +# ifdef HAVE_PTHREAD_MUTEX_RECURSIVE static bool lock_function_init_rec() { pthread_mutexattr_t attrib; pthread_mutexattr_init(&attrib); @@ -352,7 +352,7 @@ static void lock_function_rec() { static void unlock_function_rec() { pthread_mutex_unlock(&fltk_mutex); } -# endif // PTHREAD_MUTEX_RECURSIVE +# endif // HAVE_PTHREAD_MUTEX_RECURSIVE void Fl_Posix_System_Driver::awake(void* msg) { if (thread_filedes[1]) { @@ -402,18 +402,18 @@ int Fl_Posix_System_Driver::lock() { // Set lock/unlock functions for this system, using a system-supplied // recursive mutex if supported... -# ifdef PTHREAD_MUTEX_RECURSIVE +# ifdef HAVE_PTHREAD_MUTEX_RECURSIVE if (!lock_function_init_rec()) { fl_lock_function = lock_function_rec; fl_unlock_function = unlock_function_rec; } else { -# endif // PTHREAD_MUTEX_RECURSIVE +# endif // HAVE_PTHREAD_MUTEX_RECURSIVE lock_function_init_std(); fl_lock_function = lock_function_std; fl_unlock_function = unlock_function_std; -# ifdef PTHREAD_MUTEX_RECURSIVE +# ifdef HAVE_PTHREAD_MUTEX_RECURSIVE } -# endif // PTHREAD_MUTEX_RECURSIVE +# endif // HAVE_PTHREAD_MUTEX_RECURSIVE } fl_lock_function(); |
