NAME
pthread_sigqueue – queue a signal to a specified thread
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
#include <signal.h>
int
pthread_sigqueue(pthread_t thread, int sig, const union sigval value);
DESCRIPTION
The pthread_queue() function queues a signal, specified by sig, to a thread, specified by thread. If sig is 0, error checking is performed, but no signal is actually sent. The value is queued together with the signal, and becomes available in siginfo_t data passed to the signal handler.
The pthread_sigqueue function is similar to sigqueue(2), but targets a thread in the current process instead of a process. See sigqueue(2) for details about signal queueing and delivery selection.
RETURN VALUES
If successful, pthread_sigqueue() returns 0. Otherwise, an error number is returned.
ERRORS
The pthread_sigqueue() function will fail if:
- [EAGAIN]
-
No resources are available to queue the signal. The current process has already queued {SIGQUEUE_MAX} signals that are still pending, or a system-wide resource limit has been exceeded.
- [ESRCH]
-
thread is an invalid thread ID.
- [EINVAL]
-
sig is an invalid or unsupported signal number.
SEE ALSO
STANDARDS
The pthread_sigqueue() function is a FreeBSD extension. An identical function with the same semantic is available in other operating systems.