]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/libbenchmark/inc/libbenchmark/libbenchmark_porting_abstraction_layer_lock_pthread_spinlock_process_private.h
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / test_and_benchmark / libbenchmark / inc / libbenchmark / libbenchmark_porting_abstraction_layer_lock_pthread_spinlock_process_private.h
1 /****************************************************************************/
2 #if( defined _POSIX_SPIN_LOCKS && _POSIX_SPIN_LOCKS >= 0 && !defined KERNEL_MODE )
3
4   /* TRD : POSIX spin lockss
5
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
11   */
12
13   /***** defines *****/
14   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE 1
15
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 )
20
21   /***** typedefs *****/
22   typedef pthread_spinlock_t pal_lock_pthread_spinlock_process_private_state;
23
24 #endif
25
26
27
28
29
30 /****************************************************************************/
31 #if( !defined LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE )
32
33   /***** defines *****/
34   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_SPINLOCK_PROCESS_PRIVATE 0
35
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 )
40
41   /***** typedefs *****/
42   typedef void * pal_lock_pthread_spinlock_process_private_state;
43
44 #endif
45