From 61e0705a949dee7e2fff753bbb5cbd78ef54febe Mon Sep 17 00:00:00 2001 From: John Emmas Date: Tue, 9 Sep 2014 12:03:52 +0100 Subject: Re-introduce our pthread macros (after fixing an earlier typo) these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different) --- libs/pbd/pbd/pthread_utils.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libs/pbd/pbd/pthread_utils.h') diff --git a/libs/pbd/pbd/pthread_utils.h b/libs/pbd/pbd/pthread_utils.h index 37ce723715..007a97c9dc 100644 --- a/libs/pbd/pbd/pthread_utils.h +++ b/libs/pbd/pbd/pthread_utils.h @@ -20,6 +20,21 @@ #ifndef __pbd_pthread_utils__ #define __pbd_pthread_utils__ +/* Accommodate thread setting (and testing) for both + * 'libpthread' and 'libpthread_win32' (whose implementations + * of 'pthread_t' are subtlely different) + */ +#ifndef PTHREAD_MACROS_DEFINED +#define PTHREAD_MACROS_DEFINED +#ifdef PTW32_VERSION /* pthread_win32 */ +#define mark_pthread_inactive(threadID) threadID.p=0 +#define is_pthread_active(threadID) threadID.p!=0 +#else /* normal pthread */ +#define mark_pthread_inactive(threadID) threadID=0 +#define is_pthread_active(threadID) threadID!=0 +#endif /* PTW32_VERSION */ +#endif /* PTHREAD_MACROS_DEFINED */ + #ifdef COMPILER_MSVC #include #else -- cgit v1.2.3