Acquire a shared read lock on a read-write lock
#include <pthread.h> int pthread_rwlock_rdlock( pthread_rwlock_t* rwl );
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The pthread_rwlock_rdlock() function acquires a shared lock on the read-write lock referenced by rwl. If the read-write lock is already exclusively locked, the calling thread blocks until the exclusive lock is released.
|If another thread is currently waiting to acquire the read-write lock for writing, pthread_rwlock_rdlock() blocks. This can cause a deadlock if a thread attempts to recursively acquire the lock for reading, while another thread is trying to acquire the lock for writing.|
If a signal is delivered to a thread waiting to lock a read-write lock, it will resume waiting for the lock after returning from the signal handler.
A thread may hold several read locks on the same read-write lock; it must call pthread_rwlock_unlock() multiple times to release its read lock.
See “An example of synchronization” in the “Processes and Threads” chapter of Getting Started with QNX Neutrino.
POSIX 1003.1 THR
pthread_rwlock_destroy(), pthread_rwlock_init(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock()
“Processes and Threads” chapter of Getting Started with QNX Neutrino