1 /****************************************************************************/
2 #if( defined _POSIX_THREADS && _POSIX_THREADS >= 0 && !defined KERNEL_MODE )
6 _POSIX_THREADS indicates POSIX threads
7 - pthreads_mutex_init requires POSIX
8 - pthreads_mutex_destroy requires POSIX
9 - pthreads_mutex_lock requires POSIX
10 - pthreads_mutex_unlock requires POSIX
14 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX 1
16 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_CREATE( pal_lock_pthread_mutex_state ) pthread_mutex_init( &pal_lock_pthread_mutex_state, NULL )
17 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_DESTROY( pal_lock_pthread_mutex_state ) pthread_mutex_destroy( &pal_lock_pthread_mutex_state )
18 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_GET( pal_lock_pthread_mutex_state ) pthread_mutex_lock( &pal_lock_pthread_mutex_state )
19 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_RELEASE( pal_lock_pthread_mutex_state ) pthread_mutex_unlock( &pal_lock_pthread_mutex_state )
21 /***** typedefs *****/
22 typedef pthread_mutex_t pal_lock_pthread_mutex_state;
30 /****************************************************************************/
31 #if( !defined LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX )
34 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX 0
36 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_CREATE( pal_lock_pthread_mutex_state )
37 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_DESTROY( pal_lock_pthread_mutex_state )
38 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_GET( pal_lock_pthread_mutex_state )
39 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_MUTEX_RELEASE( pal_lock_pthread_mutex_state )
41 /***** typedefs *****/
42 typedef void * pal_lock_pthread_mutex_state;