User Tools

Site Tools


solaris:ddi_can_receive_sig.9f

ddi_can_receive_sig


NAME

ddi_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 signals, and any call to qwait_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 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 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 determine whether signals are blocked (see sigprocmask(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)


solaris/ddi_can_receive_sig.9f.txt · Last modified: 2023/07/19 08:57 by A User Not Logged in