pthread_rwlock_rdlock(3P)
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock - lock a read-write lock object for reading
As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.
NAME pthread_rwlock_rdlock, pthread_rwlock_tryrdlock - lock a read-write lock object for reading C SYNOPSIS #include <pthread.h> int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock); int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock); DESCRIPTION Read-write locks allow a thread to exclusively lock some shared data while updating that data, or allow any number of threads to have simultaneous read-only access to the data. The pthread_rwlock_rdlock() and pthread_rwlock_tryrdlock() functions apply a read lock to the read- write lock object referenced by rwlock. The calling thread will only acquire the lock if a writer does not own the lock. A thread that calls pthread_rwlock_rdlock() will block until it can gain the read-write lock for reading, and retains ownership until it calls pthread_rwlock_unlock(). Only the thread that locked a read-write lock should unlock it. When unlocked, if there are both readers and writers of the same priority waiting for the read-write lock, writers will be scheduled before readers. A single thread may hold recursive read locks on a read-write lock. In this case there must be a matching number of unlocks by the thread before the read-write lock can be released. If a thread waiting for a read-write lock receives a signal, upon return from the signal handler, the thread resumes waiting for the read-write lock as if there was no interrupt. DIAGNOSTICS All of the read-write lock functions return zero if successful; otherwise, an error number is returned. pthread_rwlock_tryrdlock() can return the following error: [EBUSY] The read-write lock is currently held by a writer. SEE ALSO pthread_rwlock_init(3P), pthread_rwlock_wrlock(3P), pthread_rwlock_unlock(3P), pthread_rwlockattr_init(3P), pthread_rwlockattr_setpshared(3P).