Листинг 8.З. Функция pthread_rwlock_destroy: уничтожение блокировки чтения-записи
//my_rwlock/pthread_rwlock_destroy.с
1 #include "unpipc.h"
2 #include "pthread_rwlock.h"
3 int
4 pthread_rwlock_destroy(pthread_rwlock_t *rw)
5 {
6 if (rw->rw_magic != RW_MAGIC)
7 return(EINVAL);
8 if (rw->rw_refcount != 0 ||
9 rw->rw_nwaitreaders != 0 || rw->rw_nwaitwriters != 0)
10 return(EBUSY);
11 pthread_mutex_destroy(&rw->rw_mutex);
12 pthread_cond_destroy(&rw->rw_condreaders);
13 pthread_cond_destroy(&rw->rw_condwriters);
14 rw->rw_magic = 0;
15 return(0);
16 }