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

개요

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

sigqueue(3c)

Standard C Library Functions                                      sigqueue(3C)



NAME
       sigqueue - queue a signal to a process

SYNOPSIS
       #include <sys/types.h>
       #include <signal.h>

       int sigqueue(pid_t pid, int signo, const union sigval value);


       int sigqueue_wait(pid_t pid, int signo, const union sigval value,
            const struct timespec *timeout);

DESCRIPTION
       The sigqueue() and sigqueue_wait() functions cause the signal specified
       by signo to be sent with the value specified by value  to  the  process
       specified  by  pid.  If signo is 0 (the null signal), error checking is
       performed but no signal is actually sent. The null signal can  be  used
       to check the validity of pid.


       The  conditions  required  for  a process to have permission to queue a
       signal to another process are the same as for the kill(2) function.


       The   sigqueue()   function   returns   immediately.    In    contrast,
       sigqueue_wait()  will  wait  until enough resources become available to
       queue the signal if the caller has the maximum number of queued signals
       allowed  per  process  pending.  If  the  timeout argument is not NULL,
       sigqueue_wait() will wait up to the specified time  for  the  necessary
       resources to become available.


       If  SA_SIGINFO  is set for signo and if the resources were available to
       queue the signal, the signal  is  queued  and  sent  to  the  receiving
       process.  If  SA_SIGINFO  is  not  set for signo, then signo is sent at
       least once to the receiving process; it is  unspecified  whether  value
       will be sent to the receiving process as a result of this call.


       If  the  value  of  pid  causes  signo  to be generated for the sending
       process, and if signo is not blocked for the calling thread and  if  no
       other thread has signo unblocked or is waiting in a sigwait(2) function
       for signo, either signo or at least the pending, unblocked signal  will
       be  delivered  to  the  calling  thread  before the sigqueue() function
       returns. Should any of multiple pending signals in the  range  SIGRTMIN
       to  SIGRTMAX  be  selected for delivery, 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.

RETURN VALUES
       Upon successful completion, the specified signal will have been queued,
       and the sigqueue() and sigqueue_wait() functions return  0.  Otherwise,
       the functions return −1 and set errno to indicate the error.

ERRORS
       The sigqueue() and sigqueue_wait() functions will fail if:

       EAGAIN    No  resources  are  available  to queue the signal within the
                 specified time, if any. The process has  already  queued  its
                 maximum  number  of  signals  that  are  still pending at the
                 receiver(s),  or  a  system  wide  resource  limit  has  been
                 exceeded.  The  maximum  number of outstanding queued signals
                 that a process  can  have  is  defined  by  its  process.max-
                 siqueue-size resource control.


       EINVAL    The value of signo is an invalid or unsupported signal number
                 or the timeout argument specifies an invalid time.


       EPERM     The process does not have the appropriate privilege  to  send
                 the signal to the receiving process.


       ESRCH     The process pid does not exist.



       The sigqueue_wait() function will fail if:

       EFAULT    The   timeout  argument  to  sigqueue_wait()  is  an  invalid
                 address.


       EINTR     The sigqueue_wait() function was interrupted while waiting.


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-Signal-
       Safe _ StandardSee standards(7).


SEE ALSO
       kill(2), pthread_kill(3C), pthread_sigqueue(3C), sigwaitinfo(3C),  sig‐
       info.h(3HEAD),  signal.h(3HEAD),  attributes(7),  resource-controls(7),
       standards(7)



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