65 #include "gw-config.h"    71   #define RWDEBUG(str,lev,frm,args...) debug(str, lev, frm, ## args)    73   #define RWDEBUG(str,lev,frm,args...) do{}while(0)    79     RWLock *ret = gw_malloc(
sizeof(*ret));
    80 #ifdef HAVE_PTHREAD_RWLOCK    81     int rc = pthread_rwlock_init(&ret->
rwlock, NULL);
    83         panic(rc, 
"Initialization of RWLock failed.");
    88         panic(0, 
"Initialization of RWLock failed.");
    98 #ifdef HAVE_PTHREAD_RWLOCK    99     int rc = pthread_rwlock_init(&
lock->rwlock, NULL);
   101         panic(rc, 
"Initialization of RWLock failed.");
   105     if (
lock->rwlock == NULL)
   106         panic(0, 
"Initialization of RWLock failed.");
   114 #ifdef HAVE_PTHREAD_RWLOCK   121 #ifdef HAVE_PTHREAD_RWLOCK   122     ret = pthread_rwlock_destroy(&
lock->rwlock);
   124         panic(ret, 
"Attempt to destroy locked rwlock.");
   139 #ifdef HAVE_PTHREAD_RWLOCK   140     ret = pthread_rwlock_rdlock(&
lock->rwlock);
   142         panic(ret, 
"Error while pthread_rwlock_rdlock.");
   148     RWDEBUG(
"", 0, 
"------------ gw_rwlock_rdlock(%p) ----------", 
lock);
   160 #ifdef HAVE_PTHREAD_RWLOCK   161     ret = pthread_rwlock_unlock(&
lock->rwlock);
   163         panic(ret, 
"Error while gw_rwlock_unlock.");
   165     RWDEBUG(
"", 0, 
"------------ gw_rwlock_unlock(%p) ----------", 
lock);
   182 #ifdef HAVE_PTHREAD_RWLOCK   183     ret = pthread_rwlock_wrlock(&
lock->rwlock);
   185         panic(ret, 
"Error while pthread_rwlock_wrlock.");
   187     RWDEBUG(
"", 0, 
"------------ gw_rwlock_wrlock(%p) ----------", 
lock);
 
gw_assert(wtls_machine->packet_to_send !=NULL)
 
void gw_rwlock_destroy(RWLock *lock)
 
int gw_rwlock_wrlock(RWLock *lock)
 
RWLock * gw_rwlock_create(void)
 
int gw_rwlock_rdlock(RWLock *lock)
 
#define RWDEBUG(str, lev, frm, args...)
 
void gwlist_unlock(List *list)
 
void gwlist_remove_producer(List *list)
 
int gw_rwlock_unlock(RWLock *lock)
 
void gwlist_lock(List *list)
 
void * gwlist_consume(List *list)
 
void gw_rwlock_init_static(RWLock *lock)
 
void gwlist_add_producer(List *list)
 
int gwlist_producer_count(List *list)
 
void gwlist_destroy(List *list, gwlist_item_destructor_t *destructor)