]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/libbenchmark/inc/libbenchmark/libbenchmark_porting_abstraction_layer_lock_pthread_rwlock.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_rwlock.h
1 /****************************************************************************/
2 #if( defined _POSIX_THREADS && _POSIX_THREADS >= 0 && !defined KERNEL_MODE )
3
4   /* TRD : POSIX threads
5
6            _POSIX_THREADS  indicates POSIX threads
7                              - pthreads_rwlock_init requires POSIX
8                              - pthreads_rwlock_destroy requires POSIX
9                              - pthreads_rwlock_lock requires POSIX
10                              - pthreads_rwlock_unlock requires POSIX
11   */
12
13   /***** defines *****/
14   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK 1
15
16   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_CREATE( pal_lock_pthread_rwlock_state )     pthread_rwlock_init( &pal_lock_pthread_rwlock_state, NULL )
17   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_DESTROY( pal_lock_pthread_rwlock_state )    pthread_rwlock_destroy( &pal_lock_pthread_rwlock_state )
18   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_GET_READ( pal_lock_pthread_rwlock_state )   pthread_rwlock_rdlock( &pal_lock_pthread_rwlock_state )
19   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_GET_WRITE( pal_lock_pthread_rwlock_state )  pthread_rwlock_wrlock( &pal_lock_pthread_rwlock_state )
20   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_RELEASE( pal_lock_pthread_rwlock_state )    pthread_rwlock_unlock( &pal_lock_pthread_rwlock_state )
21
22   /***** typedefs *****/
23   typedef pthread_rwlock_t pal_lock_pthread_rwlock_state;
24
25 #endif
26
27
28
29
30
31 /****************************************************************************/
32 #if( !defined LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK )
33
34   /***** defines *****/
35   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK 0
36
37   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_CREATE( pal_lock_pthread_rwlock_state )
38   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_DESTROY( pal_lock_pthread_rwlock_state )
39   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_GET_READ( pal_lock_pthread_rwlock_state )
40   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_GET_WRITE( pal_lock_pthread_rwlock_state )
41   #define LIBBENCHMARK_PAL_LOCK_PTHREAD_RWLOCK_RELEASE( pal_lock_pthread_rwlock_state )
42
43   /***** typedefs *****/
44   typedef void * pal_lock_pthread_rwlock_state;
45
46 #endif
47