rwlock 44 lib/util/mutex.h #define RWLOCK_INIT(rwlock, name) smb_rwlock_init(rwlock, #name) rwlock 45 lib/util/mutex.h #define RWLOCK_DESTROY(rwlock, name) smb_rwlock_destroy(rwlock, #name) rwlock 46 lib/util/mutex.h #define RWLOCK_LOCK_WRITE(rwlock, name) smb_rwlock_lock_write(rwlock, #name) rwlock 47 lib/util/mutex.h #define RWLOCK_LOCK_READ(rwlock, name) smb_rwlock_lock_read(rwlock, #name) rwlock 48 lib/util/mutex.h #define RWLOCK_UNLOCK(rwlock, name) smb_rwlock_unlock(rwlock, #name) rwlock 58 lib/util/mutex.h void *rwlock; rwlock 68 lib/util/mutex.h int (*rwlock_init)(smb_rwlock_t *rwlock, const char *name); rwlock 69 lib/util/mutex.h int (*rwlock_lock_write)(smb_rwlock_t *rwlock, const char *name); rwlock 70 lib/util/mutex.h int (*rwlock_lock_read)(smb_rwlock_t *rwlock, const char *name); rwlock 71 lib/util/mutex.h int (*rwlock_unlock)(smb_rwlock_t *rwlock, const char *name); rwlock 72 lib/util/mutex.h int (*rwlock_destroy)(smb_rwlock_t *rwlock, const char *name); rwlock 292 source4/smbd/process_thread.c static int thread_rwlock_init(smb_rwlock_t *rwlock, const char *name) rwlock 295 source4/smbd/process_thread.c rwlock->rwlock = memdup(&m, sizeof(m)); rwlock 296 source4/smbd/process_thread.c if (! rwlock->rwlock) { rwlock 300 source4/smbd/process_thread.c return pthread_rwlock_init((pthread_rwlock_t *)rwlock->rwlock, NULL); rwlock 306 source4/smbd/process_thread.c static int thread_rwlock_destroy(smb_rwlock_t *rwlock, const char *name) rwlock 308 source4/smbd/process_thread.c return pthread_rwlock_destroy((pthread_rwlock_t *)rwlock->rwlock); rwlock 316 source4/smbd/process_thread.c pthread_rwlock_t *rwlock = (pthread_rwlock_t *)rwlockP->rwlock; rwlock 321 source4/smbd/process_thread.c if ((rc = pthread_rwlock_tryrdlock(rwlock))) { rwlock 327 source4/smbd/process_thread.c pthread_rwlock_rdlock(rwlock); rwlock 345 source4/smbd/process_thread.c pthread_rwlock_t *rwlock = (pthread_rwlock_t *)rwlockP->rwlock; rwlock 350 source4/smbd/process_thread.c if ((rc = pthread_rwlock_trywrlock(rwlock))) { rwlock 356 source4/smbd/process_thread.c pthread_rwlock_wrlock(rwlock); rwlock 373 source4/smbd/process_thread.c static int thread_rwlock_unlock(smb_rwlock_t *rwlock, const char *name) rwlock 375 source4/smbd/process_thread.c return pthread_rwlock_unlock((pthread_rwlock_t *)rwlock->rwlock);