pthread_rwlock_rdlock()
Acquire a shared read lock on a read-write lock
Synopsis:
#include <pthread.h>
int pthread_rwlock_rdlock( pthread_rwlock_t* rwl );
Arguments:
- rwl
 - A pointer to a pthread_rwlock_t object that you want to lock for reading.
 
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
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 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.
Returns:
- EOK
 - Success.
 - EAGAIN
 - On the first use of statically initialized read-write lock, insufficient system resources existed to initialize the read-write lock.
 - EDEADLK
 - The calling thread already has an exclusive lock for rwl.
 - EFAULT
 - A fault occurred when the kernel tried to access rwl.
 - EINVAL
 - The read-write lock rwl is invalid.
 
Examples:
See
An example of synchronization
in the Processes and Threads
 chapter of Getting Started with the QNX OS.
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes | 
| Signal handler | Yes | 
| Thread | Yes | 
