Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

pthread_kill(3C)

Name

pthread_kill - send a signal to a thread

Synopsis

#include <signal.h>
#include <pthread.h>

int pthread_kill(pthread_t thread, int sig);

Description

The pthread_kill() function sends the sig signal to the thread designated by thread. The thread argument must be a member of the same process as the calling thread. The sig argument must be one of the signals listed in signal.h(3HEAD), with the exception of SIGCANCEL being reserved and off limits to pthread_kill(). If sig is 0, a validity check is performed for the existence of the target thread; no signal is sent.

Return Values

Upon successful completion, the function returns a value of 0. Otherwise the function returns an error number. If the pthread_kill() function fails, no signal is sent. In XPG7 or later modes it is not an error for the target thread to be a zombie thread. In non-XPG7 mode ESRCH will be returned for a zombie thread.

Software compiled on Oracle Solaris 11.4 and later defaults to XPG7 behavior, unless an earlier standard is specified at compile time using the feature test macros described in standards(7). Software compiled on earlier releases of Oracle Solaris will continue to follow the non-XPG7 behavior for compatibility.

Errors

The pthread_kill() function will fail if:

ESRCH

No thread could be found corresponding to that specified by the given thread ID.

EINVAL

The value of the sig argument is an invalid or unsupported signal number.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe
Standard

See Also

kill(1), pthread_self(3C), pthread_sigmask(3C), pthread_sigqueue(3C), raise(3C), attributes(7), standards(7)