 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
sigqueue(3)
NAME
sigqueue - Queue a signal and data to a running process.
SYNOPSIS
#include <signal.h>
int sigqueue (
pid_t pid,
int signo,
const union sigval value);
PARAMETERS
pid Specifies the process.
signo Specifies the signal. 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 will be queued to the specified
process. If the process has the SA_SIGINFO flag enabled for the queued
signal, the specified value will be 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.
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.
RELATED INFORMATION
Headers: siginfo(5)
Functions: kill(2), sigaction(2), sysconf(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|