Kernel Functions for Drivers ddi_can_receive_sig(9F)
NAME
ddi_can_receive_sig - Test for ability to receive signals
SYNOPSIS
#include
#include
boolean_t ddi_can_receive_sig(void);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).PARAMETERS
None.DESCRIPTION
The ddi_can_receive_sig() function returns a boolean value
indicating whether the current thread can receive signalssent by kill(2). If the return value is B_FALSE, then the
calling thread cannot receive signals, and any call toqwait_sig(9F), cv_wait_sig(9F), or cv_timedwait_sig(9F)
implicitly becomes qwait(9F), cv_wait(9F), or
cv_timedwait(9F), respectively. Drivers that can block inde-
finitely awaiting an event should use this function to determine if additional means (such as timeout(9F)) may be necessary to avoid creating unkillable threads.RETURN VALUES
B_FALSE The calling thread is in a state in which sig-
nals cannot be received. For exam-
ple, the thread is not associated with a user process or is in the midst of exit(2) handling.B_TRUE The calling thread may receive a signal while
blocked on a condition variable. Note that this function does not check to determinewhether signals are blocked (see sigproc-
mask(2)).CONTEXT
The ddi_can_receive_sig() function may be called from user,
kernel, or interrupt context.SEE ALSO
close(9E), cv_wait(9F), qwait(9F)
SunOS 5.11 Last change: 15 Dec 2003 1