Standard C Library Functions pthreadrwlockwrlock(3C)
NAME
pthreadrwlockwrlock, pthreadrwlocktrywrlock - lock or
attempt to lock read-write lock object for writing
SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ]
#include
int pthreadrwlockwrlock(pthreadrwlockt *rwlock);
int pthreadrwlocktrywrlock(pthreadrwlockt *rwlock);
DESCRIPTION
The pthreadrwlockwrlock() 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 pthreadrwlocktrywrlock() function applies a write lock
like the pthreadrwlockwrlock() function, with the excep-
tion that the function 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 pthreadrwlockrdlock(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 writ-
ing as if it was not interrupted.
RETURN VALUES
If successful, the pthreadrwlockwrlock() function returns
0. Otherwise, an error number is returned to indicate the
error.
The pthreadrwlocktrywrlock() 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.
SunOS 5.11 Last change: 23 Mar 2005 1
Standard C Library Functions pthreadrwlockwrlock(3C)
ERORS
The pthreadrwlockwrlock() function will fail if:
EDEADLK The current thread already owns the read-write
lock for writing or reading.
The pthreadrwlocktrywrlock() function will fail if:
EBUSY The read-write lock could not be acquired for writ-
ing because it was already locked for reading or
writing.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe
SEE ALSO
pthreadrwlockinit(3C), pthreadrwlockunlock(3C),
pthreadrwlockattrinit(3C), pthreadrwlockrdlock(3C),
attributes(5), standards(5)
SunOS 5.11 Last change: 23 Mar 2005 2
|