System Grab Bag

View all man pages from Linux (or from all projects)

Name

pthread_sigqueue - queue a signal and data to a thread

Library

POSIX threads library ( libpthread ", " -lpthread )

Synopsis

#include <signal.h> 
#include <pthread.h> 
int pthread_sigqueue(pthread_t " thread ", int  sig ,
const union sigval value );

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

pthread_sigqueue()

    _GNU_SOURCE

Description

The pthread_sigqueue() function performs a similar task to sigqueue(3), but, rather than sending a signal to a process, it sends a signal to a thread in the same process as the calling thread.

The thread argument is the ID of a thread in the same process as the caller. The sig argument specifies the signal to be sent. The value argument specifies data to accompany the signal; see sigqueue(3) for details.

Return Value

On success, pthread_sigqueue() returns 0; on error, it returns an error number.

Errors

EAGAIN The limit of signals which may be queued has been reached. (See signal(7) for further information.)

EINVAL sig was invalid.

ENOSYS pthread_sigqueue() is not supported on this system.

ESRCH thread is not valid.

Attributes

For an explanation of the terms used in this section, see attributes(7). allbox; lbx lb lb T{ pthread_sigqueue()
InterfaceAttributeValue
T}Thread safetyMT-Safe

Versions

The glibc implementation of pthread_sigqueue() gives an error ( EINVAL ) on attempts to send either of the real-time signals used internally by the NPTL threading implementation. See nptl(7) for details.

Standards

GNU.

History

glibc 2.11.

See Also

  1. rt_tgsigqueueinfo(2),
  2. sigaction(2),
  3. pthread_sigmask(3),
  4. sigqueue(3),
  5. sigwait(3),
  6. pthreads(7),
  7. signal(7)