61#if !defined(_REENTRANT) && !defined(_THREAD_SAFE)
77#define EXCL_LOCKS (WRITE_LOCK | SHARED_LOCK)
108 pthread_mutex_t _access;
109 pthread_cond_t wakeup;
void ObtainDualLock(struct Lock *lock_1, enum lock_how how_1, struct Lock *lock_2, enum lock_how how_2)
Definition: lock.c:114
void ReleaseWriteLock(struct Lock *lock)
Definition: lock_pt.c:135
int WriteLocked(struct Lock *lock)
Definition: lock_pt.c:163
lock_how
Definition: lock.h:53
@ SHARED_LOCK
Definition: lock.h:56
@ READ_LOCK
Definition: lock.h:54
@ WRITE_LOCK
Definition: lock.h:55
void Lock_ReleaseR(struct Lock *lock)
Definition: lock.c:191
void ReleaseReadLock(struct Lock *lock)
Definition: lock_pt.c:130
void Lock_Init(struct Lock *lock)
Definition: lock_pt.c:44
void ReleaseDualLock(struct Lock *lock_1, enum lock_how how_1, struct Lock *lock_2, enum lock_how how_2)
Definition: lock.c:158
void Lock_Obtain(struct Lock *lock, int how)
Definition: lock.c:58
int CheckLock(struct Lock *lock)
Definition: lock_pt.c:149
void ObtainReadLock(struct Lock *lock)
Definition: lock_pt.c:115
void Lock_ReleaseW(struct Lock *lock)
Definition: lock.c:210
void ObtainSharedLock(struct Lock *lock)
Definition: lock_pt.c:125
void ObtainWriteLock(struct Lock *lock)
Definition: lock_pt.c:120
void ReleaseSharedLock(struct Lock *lock)
Definition: lock_pt.c:140
unsigned char num_waiting
Definition: lock.h:72
unsigned char readers_reading
Definition: lock.h:71
PROCESS excl_locker
Definition: lock.h:73
unsigned char wait_states
Definition: lock.h:69
unsigned char excl_locked
Definition: lock.h:70
Definition: lwp.private_pt.h:33