RW_WRLOCK(D3)RW_WRLOCK(D3)NAMERW_WRLOCK - acquire a read/write lock in write mode
SYNOPSIS
#include <sys/ksynch.h>
#include <sys/ddi.h>
void RW_WRLOCK(rwlock_t *lockp);
Arguments
lockp Pointer to the read/write lock to be acquired.
DESCRIPTIONRW_WRLOCK acquires the read/write lock specified by lockp in write mode.
If the lock is not immediately available in write mode, the caller is put
to sleep (the caller's execution is suspended and other processes may be
scheduled) until the lock becomes available to the caller, at which point
the caller wakes up and returns with the lock held. A read/write lock is
available in write mode only when the lock is not held by any context in
either read or write mode.
The caller will not be interrupted by signals while asleep while waiting
to acquire the read/write lock.
Return Values
None
Level
Base only.
Synchronization Constraints
Can sleep.
Driver-defined basic locks may not be held across calls to this function.
Driver-defined sleep locks may be held across calls to this function
subject to the recursion restrictions described below.
Warnings
Read/write locks are not recursive in write mode. A call to RW_WRLOCK
attempting to acquire a lock that is currently held by the calling
context will result in deadlock.
REFERENCESRW_ALLOC(D3), RW_INIT(D3), RW_DEALLOC(D3), RW_DESTROY(D3), RW_RDLOCK(D3),
RW_UNLOCK(D3),
Page 1