Content-type: text/html Man page of sigqueue

sigqueue

Section: C Library Functions (3)
Index Return to Main Contents
 

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) delim off


 

Index

NAME
SYNOPSIS
PARAMETERS
DESCRIPTION
RETURN VALUES
ERRORS
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:42:35 GMT, October 02, 2010