1 /****************************************************************************/
2 #if( defined _POSIX_SPIN_LOCKS && _POSIX_SPIN_LOCKS >= 0 && !defined KERNEL_MODE )
4 /* TRD : POSIX spin locks
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_SHARED 1
16 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_CREATE( pal_lock_pthread_spinlock_process_shared_state ) pthread_spin_init( &pal_lock_pthread_spinlock_process_shared_state, PTHREAD_PROCESS_SHARED );
17 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_DESTROY( pal_lock_pthread_spinlock_process_shared_state ) pthread_spin_destroy( &pal_lock_pthread_spinlock_process_shared_state );
18 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_GET( pal_lock_pthread_spinlock_process_shared_state ) pthread_spin_lock( &pal_lock_pthread_spinlock_process_shared_state );
19 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_RELEASE( pal_lock_pthread_spinlock_process_shared_state ) pthread_spin_unlock( &pal_lock_pthread_spinlock_process_shared_state );
21 /***** typedefs *****/
22 typedef pthread_spinlock_t pal_lock_pthread_spinlock_process_shared_state;
30 /****************************************************************************/
31 #if( !defined LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED )
34 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED 0
36 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_CREATE( pal_lock_pthread_spinlock_process_shared_state )
37 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_DESTROY( pal_lock_pthread_spinlock_process_shared_state )
38 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_GET( pal_lock_pthread_spinlock_process_shared_state )
39 #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_SHARED_RELEASE( pal_lock_pthread_spinlock_process_shared_state )
41 /***** typedefs *****/
42 typedef void * pal_lock_pthread_spinlock_process_shared_state;