|TKILL(2)||Linux Programmer's Manual||TKILL(2)|
int tkill(int tid, int sig);
int tgkill(int tgid, int tid, int sig);
Note: There is no glibc wrapper for tkill(); see NOTES.
tkill() is an obsolete predecessor to tgkill(). It allows only the target thread ID to be specified, which may result in the wrong thread being signaled if a thread terminates and its thread ID is recycled. Avoid using this system call.
These are the raw system call interfaces, meant for internal thread library use.
- An invalid thread ID, thread group ID, or signal was specified.
- Permission denied. For the required permissions, see kill(2).
- No process with the specified thread ID (and thread group ID) exists.
- The RLIMIT_SIGPENDING resource limit was reached and sig is a real-time signal.
- Insufficient kernel memory was available and sig is a real-time signal.
Library support for tgkill() was added to glibc in version 2.30.
Glibc does not provide a wrapper for tkill(); call it using syscall(2). Before glibc 2.30, there was also no wrapper function for tgkill().