From cb587e9bf075d1ae9d638d2553191314c432f33c Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Sun, 30 Aug 1998 18:55:54 +0000 Subject: [PATCH] Added check routines from Stuart Lynne --- libraries/liblthread/rdwr.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/libraries/liblthread/rdwr.c b/libraries/liblthread/rdwr.c index cbf997a6cc..7fa59d1326 100644 --- a/libraries/liblthread/rdwr.c +++ b/libraries/liblthread/rdwr.c @@ -81,3 +81,31 @@ int pthread_rdwr_wunlock_np(pthread_rdwr_t *rdwrp) return 0; } } + +#ifdef LDAP_DEBUG + +/* just for testing, + * return 0 if false, suitable for assert(pthread_rdwr_Xchk(rdwr)) + * + * Currently they don't check if the calling thread is the one + * that has the lock, just that there is a reader or writer. + * + * Basically sufficent for testing that places that should have + * a lock are caught. + */ + +int pthread_rdwr_rchk_np(pthread_rdwr_t *rdwrp) +{ + return(rdwrp->readers_reading!=0); +} + +int pthread_rdwr_wchk_np(pthread_rdwr_t *rdwrp) +{ + return(rdwrp->writer_writing!=0); +} +int pthread_rdwr_rwchk_np(pthread_rdwr_t *rdwrp) +{ + return(pthread_rdwr_rchk_np(rdwrp) || pthread_rdwr_wchk_np(rdwrp)); +} + +#endif LDAP_DEBUG -- 2.39.5