75
81
int rw_sh_complete_count;
83
#ifdef XT_THREAD_LOCK_INFO
85
XTThreadLockInfoRec rw_lock_info;
89
#ifdef XT_THREAD_LOCK_INFO
90
int xt_p_mutex_init(xt_mutex_type *mutex, const pthread_mutexattr_t *attr, const char *name);
79
92
int xt_p_mutex_init(xt_mutex_type *mutex, const pthread_mutexattr_t *attr);
80
94
int xt_p_mutex_destroy(xt_mutex_type *mutex);
81
95
int xt_p_mutex_lock(xt_mutex_type *mx);
82
96
int xt_p_mutex_unlock(xt_mutex_type *mx);
83
97
int xt_p_mutex_trylock(xt_mutex_type *mutex);
99
#ifdef XT_THREAD_LOCK_INFO
100
int xt_p_rwlock_init(xt_rwlock_type *rwlock, const pthread_condattr_t *attr, const char *name);
85
102
int xt_p_rwlock_init(xt_rwlock_type *rwlock, const pthread_condattr_t *attr);
86
104
int xt_p_rwlock_destroy(xt_rwlock_type *rwlock);
87
105
int xt_p_rwlock_rdlock(xt_rwlock_type *mx);
88
106
int xt_p_rwlock_wrlock(xt_rwlock_type *mx);
118
#ifdef XT_THREAD_LOCK_INFO
119
#define xt_p_rwlock_init_with_name(a,b,c) xt_p_rwlock_init(a,b,c)
120
#define xt_p_rwlock_init_with_autoname(a,b) xt_p_rwlock_init_with_name(a,b, LOCKLIST_ARG_SUFFIX(a))
122
#define xt_p_rwlock_init_with_name(a,b,c) xt_p_rwlock_init(a,b,c)
123
#define xt_p_rwlock_init_with_autoname(a,b) xt_p_rwlock_init(a,b)
100
126
#define xt_slock_rwlock_ns xt_p_rwlock_rdlock
101
127
#define xt_xlock_rwlock_ns xt_p_rwlock_wrlock
102
128
#define xt_unlock_rwlock_ns xt_p_rwlock_unlock
130
#ifdef XT_THREAD_LOCK_INFO
131
#define xt_p_mutex_init_with_name(a,b,c) xt_p_mutex_init(a,b,c)
132
#define xt_p_mutex_init_with_autoname(a,b) xt_p_mutex_init_with_name(a,b, LOCKLIST_ARG_SUFFIX(a))
134
#define xt_p_mutex_init_with_name(a,b,c) xt_p_mutex_init(a,b)
135
#define xt_p_mutex_init_with_autoname(a,b) xt_p_mutex_init(a,b)
104
138
#define xt_lock_mutex_ns xt_p_mutex_lock
105
139
#define xt_unlock_mutex_ns xt_p_mutex_unlock
106
140
#define xt_mutex_trylock xt_p_mutex_trylock