sigwaitinfo(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

sigwaitinfo(3c)

sigwaitinfo(3C)          Standard C Library Functions          sigwaitinfo(3C)

NAME
       sigwaitinfo, sigtimedwait - wait for queued signals

SYNOPSIS
       #include <signal.h>

       int sigwaitinfo(const sigset_t *restrict set,
            siginfo_t *restrict info);


       int sigtimedwait(const sigset_t *restrict set,
            siginfo_t *restrict info,
            const struct timespec *restrict timeout);

DESCRIPTION
       The  sigwaitinfo()  function  selects  the  pending signal from the set
       specified by set. Should any of multiple pending signals in  the  range
       SIGRTMIN  to  SIGRTMAX be selected, it will be the lowest numbered one.
       The selection order between realtime and non-realtime signals,  or  be‐
       tween multiple pending non-realtime signals, is unspecified. If no sig‐
       nal  in  set  is pending at the time of the call, the calling thread is
       suspended until one or more signals in set become pending or  until  it
       is interrupted by an unblocked, caught signal.


       The  sigwaitinfo() function behaves the same as the sigwait(2) function
       if the info argument is NULL. If the info  argument  is  non-NULL,  the
       sigwaitinfo()  function behaves the same as sigwait(2), except that the
       selected signal number is stored in the si_signo member, and the  cause
       of  the  signal is stored in the si_code member. If any value is queued
       to the selected signal, the first such queued value is dequeued and, if
       the info argument is non-NULL, the value is stored in the si_value mem‐
       ber of info. The system resource used to queue the signal will  be  re‐
       leased  and  made  available  to  queue  other  signals. If no value is
       queued, the content of the si_value member is undefined. If no  further
       signals  are queued for the selected signal, the pending indication for
       that signal will be reset. If  the  value  of  the  si_code  member  is
       SI_NOINFO, only the si_signo member of siginfo_t is meaningful, and the
       value of all other members is unspecified.


       The  sigtimedwait()  function  behaves the same as sigwaitinfo() except
       that if none of the signals specified by  set  are  pending,  sigtimed‐
       wait()  waits for the time interval specified in the timespec structure
       referenced by timeout. If the timespec structure pointed to by  timeout
       is zero-valued and if none of the signals specified by set are pending,
       then  sigtimedwait()  returns  immediately with an error. If timeout is
       the NULL pointer, the behavior is unspecified.


       If, while sigwaitinfo() or sigtimedwait() is waiting, a  signal  occurs
       which  is  eligible  for  delivery (that is, not blocked by the process
       signal mask), that signal is handled asynchronously and the wait is in‐
       terrupted.

RETURN VALUES
       Upon successful completion (that is, one of the  signals  specified  by
       set  is  pending or is generated) sigwaitinfo() and sigtimedwait() will
       return the selected signal number. Otherwise, the function  returns  −1
       and sets errno to indicate the error.

ERRORS
       The sigwaitinfo() and sigtimedwait() functions will fail if:

       EINTR     The wait was interrupted by an unblocked, caught signal.


       ENOSYS    The  sigwaitinfo()  and sigtimedwait() functions are not sup‐
                 ported.



       The sigtimedwait() function will fail if:

       EAGAIN    No signal specified by set was generated within the specified
                 timeout period.



       The sigwaitinfo() and sigtimedwait() functions may fail if:

       EFAULT    The set, info, or timeout argument points to an  invalid  ad‐
                 dress.



       The sigtimedwait() function may fail if:

       EINVAL    The timeout argument specified a tv_nsec value less than zero
                 or  greater  than  or  equal to 1000 million. The system only
                 checks for this error if no signal is pending in set  and  it
                 is necessary to wait.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface  StabilityCommitted  _  MT-LevelAsync-Safe  _
       StandardSee standards(7).


SEE ALSO
       time(2),      sigqueue(3C),      siginfo.h(3HEAD),     signal.h(3HEAD),
       time.h(3HEAD), attributes(7), standards(7)

NOTES
       Earlier implementations of these interfaces would not wake  up  on  re‐
       ceiving a signal with a disposition of SIG_IGN.

Oracle Solaris 11.4               17 May 2016                  sigwaitinfo(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3