UNLOCK(D3)UNLOCK(D3)NAMEUNLOCK - release a basic lock
SYNOPSIS
#include <sys/types.h>
#include <sys/ksynch.h>
#include <sys/ddi.h>
void UNLOCK(lock_t *lockp, int pl);
Arguments
lockp Pointer to the basic lock to be released.
pl The interrupt priority level to be set after releasing the
lock. This argument should be the value returned by LOCK.
DESCRIPTIONUNLOCK releases the basic lock specified by lockp and then sets the
interrupt priority level in accordance with the value specified by pl.
Return Values
None
USAGE
See the description of the min_pl argument to LOCK_ALLOC(D3) for a list
of the valid values for pl. If lock calls are not being nested or if the
caller is unlocking in the reverse order that locks were acquired, the pl
argument should be the value that was returned from the corresponding
call to acquire the lock. The caller may need to specify a different
returned value by other LOCK for pl if nested locks are released in some
order other than the reverse order of acquisition, so as to ensure that
the interrupt priority level is kept sufficiently high to block interrupt
code that might attempt to acquire locks which are still held.
Level
Base or Interrupt.
Synchronization Constraints
Does not sleep.
Driver-defined basic locks, read/write locks, and sleep locks may be held
across calls to this function.
REFERENCESLOCK(D3), LOCK_ALLOC(D3), LOCK_DEALLOC(D3), TRYLOCK(D3)
Page 1