pthread_kill - send a signal to a thread
#include <signal.h> #include <pthread.h> int pthread_kill(pthread_t thread, int sig);
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.
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.
The pthread_kill() function will fail if:
No thread could be found corresponding to that specified by the given thread ID.
The value of the sig argument is an invalid or unsupported signal number.
See attributes(7) for descriptions of the following attributes:
|
kill(1), pthread_self(3C), pthread_sigmask(3C), pthread_sigqueue(3C), raise(3C), attributes(7), standards(7)