DDI_CAN_RECEIVE_SIG(9F)DDI_CAN_RECEIVE_SIG(9F)NAMEddi_can_receive_sig - Test for ability to receive signals
SYNOPSIS
#include <sys/ddi.h>
#include <sys/sunddi.h>
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 signals sent by kill(2). If the
return value is B_FALSE, then the calling thread cannot receive sig‐
nals, and any call to qwait_sig(9F), cv_wait_sig(9F), or cv_timed‐
wait_sig(9F) implicitly becomes qwait(9F), cv_wait(9F), or cv_timed‐
wait(9F), respectively. Drivers that can block indefinitely 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 signals
cannot be received. For example, the thread is not associ‐
ated with a user process or is in the midst of exit(2) han‐
dling.
B_TRUE
The calling thread may receive a signal while blocked
on a condition variable. Note that this function does not
check to determine whether signals are blocked (see sig‐
procmask(2)).
CONTEXT
The ddi_can_receive_sig() function may be called from user, kernel, or
interrupt context.
SEE ALSOclose(9E), cv_wait(9F), qwait(9F)
Dec 15, 2003 DDI_CAN_RECEIVE_SIG(9F)