Select a pending signal
#include <sys/neutrino.h> int SignalWaitinfo( const sigset_t* set, siginfo_t* info ); int SignalWaitinfo_r( const sigset_t* set, siginfo_t* info );
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The SignalWaitinfo() and SignalWaitinfo_r() kernel calls select the pending signal from the set specified by set. If no signal in set is pending at the time of the call, the thread blocks until one or more signals in set become pending or until interrupted by an unblocked, caught signal.
These functions are identical except in the way they indicate errors. See the Returns section for details.
|Instead of using these kernel calls directly, consider calling sigwaitinfo().|
If the info argument isn't NULL, information on the selected signal is stored there as follows:
|si_signo||Selected signal number|
If, while SignalWaitinfo() is waiting, a caught signal occurs that isn't blocked, the signal handler is invoked and SignalWaitinfo() is interrupted with an error of EINTR.
The only difference between these functions is the way they indicate errors:
SignalKill(), SignalKill_r(), sigwaitinfo()