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

개요

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

sigqueue(3c)

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  re‐
       turns.  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 be‐
       tween 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 re‐
                 ceiver(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 ad‐
                 dress.


       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