SV_WAIT(D3)
SV_WAIT - sleep on a synchronization variable
As shipped in IRIX 6.5.19. Last changed in IRIX 6.5.15.
NAME SV_WAIT - sleep on a synchronization variable SYNOPSIS #include <sys/ksynch.h> #include <sys/ddi.h> void SV_WAIT(sv_t *svp, void *lkp, int rv); Arguments svp Pointer to the synchronization variable on which to sleep. lkp Pointer to either a basic lock or a mutual exclusion lock. rv Return value from LOCK(D3), or 0. DESCRIPTION SV_WAIT causes the calling process to go to sleep waiting for a call to SV_SIGNAL or SV_BROADCAST for the synchronization variable specified by svp. The lock specified by lkp must be held by the caller upon entry. The lock is released after the process is queued on the synchronization variable -- when the caller returns from SV_WAIT the lock is not held. If lkp specifies a basic lock, rv must specify the return value from the lock acquisition call; if lkp specifies a mutual exclusion (sleeping) lock, rv must be 0. Return Values None Level Base only. Synchronization Constraints Will sleep. Driver-defined basic locks (with the exception of the lock specified by lkp) may not be held across calls to this function. Driver-defined sleep locks may be held across calls to this function. REFERENCES LOCK(D3), UNLOCK(D3), MUTEX_LOCK(D3), MUTEX_UNLOCK(D3), SV_ALLOC(D3), SV_INIT(D3), SV_DEALLOC(D3), SV_DESTROY(D3), SV_WAIT_SIG(D3), SV_SIGNAL(D3), SV_BROADCAST(D3).