pthread_rwlock_wrlock(3C) Standard C Library Functions pthread_rwlock_wrlock(3C)
NAME
pthread_rwlock_wrlock, pthread_rwlock_trywrlock - lock or attempt to lock read-write lock object for writing
SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include <pthread.h>
int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);
DESCRIPTION
The pthread_rwlock_wrlock() function applies a write lock to the read-write lock referenced by rwlock. The calling thread acquires the
write lock if no other thread (reader or writer) holds the read-write lock rwlock. Otherwise, the thread blocks until it can acquire the
lock.
The pthread_rwlock_trywrlock() function applies a write lock like the pthread_rwlock_wrlock() function, with the exception that the func-
tion fails if any thread currently holds rwlock (for reading or writing).
Writers are favored over readers of the same priority to avoid writer starvation. See pthread_rwlock_rdlock(3C).
Results are undefined if any of these functions are called with an uninitialized read-write lock.
If a signal is delivered to a thread waiting for a read-write lock for writing, upon return from the signal handler the thread resumes
waiting for the read-write lock for writing as if it was not interrupted.
RETURN VALUES
If successful, the pthread_rwlock_wrlock() function returns 0. Otherwise, an error number is returned to indicate the error.
The pthread_rwlock_trywrlock() function returns 0 if the lock for writing on the read-write lock object referenced by rwlock is acquired.
Otherwise an error number is returned to indicate the error.
ERRORS
The pthread_rwlock_wrlock() function will fail if:
EDEADLK The current thread already owns the read-write lock for writing or reading.
The pthread_rwlock_trywrlock() function will fail if:
EBUSY The read-write lock could not be acquired for writing because it was already locked for reading or writing.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
pthread_rwlock_init(3C), pthread_rwlock_unlock(3C), pthread_rwlockattr_init(3C), pthread_rwlock_rdlock(3C), attributes(5), standards(5)
SunOS 5.11 23 Mar 2005 pthread_rwlock_wrlock(3C)