 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
sigqueue(3)
NAME
sigqueue - Queues a signal and data to a running process
SYNOPSIS
#include <signal.h>
int sigqueue (
pid_t pid,
int signo,
const union sigval value);
LIBRARY
Realtime Library (librt.so, librt.a)
PARAMETERS
pid Specifies the ID of the target process.
signo
Specifies the signal to be queued. If the signo parameter is 0 (the
null signal), error checking is performed but no signal is sent. This
can be used to check the validity of the pid parameter.
value
Specifies the application-defined value to be queued to the receiving
process.
DESCRIPTION
The sigqueue function causes the signal specified by signo to be sent with
the value specified by value to the process specified by pid.
The conditions required for a process to have permission to queue a signal
to another process are the same as for the kill function.
If the call is successful, the signal is queued to the specified process.
If the process has the SA_SIGINFO option enabled for the queued signal, the
specified value is delivered to its signal handler as the si_value field of
the siginfo parameter. Nonprivileged callers are restricted in the number
of signals they can have actively queued. This per-process quota value can
be returned with sysconf(_SC_SIGQUEUE_MAX).
RETURN VALUES
Upon successful completion, the sigqueue function returns a value of 0
(zero). Otherwise, a value of -1 is returned and errno is set to indicate
the error.
ERRORS
If sigqueue fails, no signal is sent, and errno is set to one of the
following values:
[EAGAIN]
No resources are available to queue the signal. The process has already
queued {SIGQUEUE_MAX} signals that are still pending at the
receiver(s), or a system-wide resource limit has been exceeded.
[EINVAL]
The signo parameter is not a valid signal number.
[EINVAL]
The signo parameter is SIGKILL, SIGSTOP, SIGTSTP, or SIGCONT, and the
pid parameter is 1 (process 1 -- init).
[ESRCH]
No process can be found corresponding to that specified by the pid
parameter.
[EPERM]
The real or saved user ID does not match the real or effective user ID
of the receiving process, the calling process does not have appropriate
privilege, or the process is not sending a SIGCONT signal to one of its
session's processes.
SEE ALSO
Headers: siginfo(5)
Functions: kill(2), sigaction(2), sysconf(3)
Guide to Realtime Programming
 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|