pthread_kill()

Updated: April 19, 2023

Send a signal to a thread

Synopsis:

#include <signal.h>

int pthread_kill( pthread_t thread,
                  int sig );

Arguments:

thread
The ID of the thread that you want to send the signal to, which you can get when you call pthread_create() or pthread_self().
sig
The signal that you want to send, or 0 if you just want to check for errors.

If the signal terminates a process, the cleanup of the terminated process occurs by default at the priority of the thread that sent the signal. As a QNX Neutrino extension, if you OR the SIG_TERMER_NOINHERIT flag (defined in <signal.h>) into sig, the cleanup occurs at the priority of the thread that received the signal.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_kill() function sends the signal sig to the thread thread. The target thread and calling thread must be in the same process. If sig is zero, error checking is performed but no signal is sent.

Returns:

EOK
Success.
EAGAIN
Insufficient system resources are available to deliver the signal.
EINVAL
Invalid signal number sig.
ESRCH
Invalid thread ID thread.

Classification:

POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes