1ddi_can_receive_sig(9F) Kernel Functions for Drivers ddi_can_receive_sig(9F)
2
3
4
6 ddi_can_receive_sig - Test for ability to receive signals
7
9 #include <sys/ddi.h>
10 #include <sys/sunddi.h>
11
12
13
14 boolean_t ddi_can_receive_sig(void);
15
16
18 Solaris DDI specific (Solaris DDI).
19
21 None.
22
24 The ddi_can_receive_sig() function returns a boolean value indi‐
25 cating whether the current thread can receive signals sent by kill(2).
26 If the return value is B_FALSE, then the calling thread cannot
27 receive signals, and any call to qwait_sig(9F), cv_wait_sig(9F), or
28 cv_timedwait_sig(9F) implicitly becomes qwait(9F), cv_wait(9F), or
29 cv_timedwait(9F), respectively. Drivers that can block indefinitely
30 awaiting an event should use this function to determine if additional
31 means (such as timeout(9F)) may be necessary to avoid creating unkill‐
32 able threads.
33
35 B_FALSE The calling thread is in a state in which signals
36 cannot be received. For example, the thread is not asso‐
37 ciated with a user process or is in the midst of exit(2)
38 handling.
39
40
41 B_TRUE The calling thread may receive a signal while blocked
42 on a condition variable. Note that this function does not
43 check to determine whether signals are blocked (see sig‐
44 procmask(2)).
45
46
48 The ddi_can_receive_sig() function may be called from user, kernel, or
49 interrupt context.
50
52 close(9E), cv_wait(9F), qwait(9F)
53
54
55
56SunOS 5.11 15 Dec 2003 ddi_can_receive_sig(9F)