1 /****************************************************************************/
2 #if( defined _POSIX_SPIN_LOCKS && _POSIX_SPIN_LOCKS >= 0 && !defined KERNEL_MODE )
4 /* TRD : POSIX spin lockss
6 _POSIX_SPIN_LOCKS indicates POSIX spin locks
7 - pthreads_spin_init requires POSIX
8 - pthreads_spin_destroy requires POSIX
9 - pthreads_spin_lock requires POSIX
10 - pthreads_spin_unlock requires POSIX
14 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE 1
16 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_CREATE( pal_lock_pthread_spinlock_process_private_state ) pthread_spin_init( &pal_lock_pthread_spinlock_process_private_state, PTHREAD_PROCESS_PRIVATE )
17 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_DESTROY( pal_lock_pthread_spinlock_process_private_state ) pthread_spin_destroy( &pal_lock_pthread_spinlock_process_private_state )
18 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_GET( pal_lock_pthread_spinlock_process_private_state ) pthread_spin_lock( &pal_lock_pthread_spinlock_process_private_state )
19 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_RELEASE( pal_lock_pthread_spinlock_process_private_state ) pthread_spin_unlock( &pal_lock_pthread_spinlock_process_private_state )
21 /***** typedefs *****/
22 typedef pthread_spinlock_t pal_lock_pthread_spinlock_process_private_state;
30 /****************************************************************************/
31 #if( !defined LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE )
34 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE 0
36 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_CREATE( pal_lock_pthread_spinlock_process_private_state )
37 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_DESTROY( pal_lock_pthread_spinlock_process_private_state )
38 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_GET( pal_lock_pthread_spinlock_process_private_state )
39 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE_RELEASE( pal_lock_pthread_spinlock_process_private_state )
41 /***** typedefs *****/
42 typedef void * pal_lock_pthread_spinlock_process_private_state;