DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

UNLOCK(D3)


UNLOCK -- release a basic lock

Synopsis

   #include <sys/types.h>
   #include <sys/ksynch.h>
   #include <sys/ddi.h>
   

void UNLOCK(lock_t *lockp, pl_t pl);

Description

UNLOCK releases the basic lock specified by lockp and then sets the interrupt priority level in accordance with the value specified by pl (if required by the implementation).

Arguments


lockp
Pointer to the basic lock to be released.

pl
The interrupt priority level to be set after releasing the lock.

Return values

None

Usage

See the description of the min_pl argument on the pl(D5) manual page 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 will typically be the value that was returned from the corresponding call to acquire the lock. The caller may need to specify a different value 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.

Although portable drivers must always specify an appropriate pl argument, implementations which do not require that the interrupt priority level be raised during lock acquisition may choose to ignore this argument.

Context and synchronization

Non-blockable, interrupt, user, or blockable context.

Hardware applicability

All

Version applicability

ddi: 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp

References

LOCK(D3), LOCK_ALLOC(D3), LOCK_DEALLOC(D3), TRYLOCK(D3)

``Spin locks (DDI)'' in HDK Technical Reference


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005