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

개요

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

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
       between  multiple  pending  non-realtime signals, is unspecified. If no
       signal 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
       released 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
       interrupted.

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
                 address.



       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
       receiving a signal with a disposition of SIG_IGN.



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