SV_WAIT_SIG(D3)
SV_WAIT_SIG - sleep on a synchronization variable
As shipped in IRIX 6.5. First release of IRIX 6.5.
NAME SV_WAIT_SIG - sleep on a synchronization variable SYNOPSIS #include <sys/ksynch.h> #include <sys/ddi.h> int SV_WAIT_SIG(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. lkp Return value from LOCK(D3), or 0. DESCRIPTION SV_WAIT_SIG 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. SV_WAIT_SIG may be interrupted by a signal, in which case it will return early without waiting for a call to SV_SIGNAL or SV_BROADCAST. If the function is interrupted by a job control signal which results in the caller entering a stopped state, when continued, the SV_WAIT_SIG function will return TRUE as if the process has been awakened by a call to SV_SIGNAL or SV_BROADCAST. If the function is interrupted by a signal other than a job control signal, or by a job control stop signal that does not result in the caller stopping (because the signal has a non-default disposition), the SV_WAIT_SIG call will return FALSE. The lock specified by lkp must be held by the caller upon entry. The lock is released after the process is queued on the synchroniation variable -- when the caller returns from SV_WAIT_SIG 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 SV_WAIT_SIG returns TRUE (a non-zero value) if the caller woke up because of a call to SV_SIGNAL or SV_BROADCAST, or if the caller was stopped and subsequently continued. SV_WAIT_SIG returns FALSE (zero) if the caller returned early because of a signal other than a job control stop signal, or by a job control stop signal that did not result in the caller stopping because the signal had a non-default disposition. Level Base only. Synchronization Constraints May 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(D3), SV_SIGNAL(D3), SV_BROADCAST(D3), signals(D5).