Update.
[glibc.git] / linuxthreads / man / pthread_kill_other_threads_np.man
blob0de42d52d5e34d25701640ce047603ebd5c01282
1 .TH PTHREAD_KILL_OTHER_THREADS_NP 3 LinuxThreads
3 .SH NAME
4 pthread_kill_other_threads_np \- terminate all threads in program except calling thread
6 .SH SYNOPSIS
7 #include <pthread.h>
9 void pthread_kill_other_threads_np(void);
11 .SH DESCRIPTION
12 !pthread_kill_other_threads_np! is a non-portable LinuxThreads extension.
13 It causes all threads in the program to terminate immediately, except
14 the calling thread which proceeds normally. It is intended to be
15 called just before a thread calls one of the !exec! functions,
16 e.g. !execve!(2).
18 Termination of the other threads is not performed through
19 !pthread_cancel!(3) and completely bypasses the cancellation
20 mechanism. Hence, the current settings for cancellation state and
21 cancellation type are ignored, and the cleanup handlers are not
22 executed in the terminated threads.
24 .SH AUTHOR
25 Xavier Leroy <Xavier.Leroy@inria.fr>
27 .SH "SEE ALSO"
28 !execve!(2),
29 !pthread_setcancelstate!(3),
30 !pthread_setcanceltype!(3),
31 !pthread_cancel!(3).
33 .SH BUGS
35 According to POSIX 1003.1c, a successful !exec*! in one of the threads
36 should terminate automatically all other threads in the program.
37 This behavior is not yet implemented in LinuxThreads.
38 Calling !pthread_kill_other_threads_np! before !exec*! achieves much
39 of the same behavior, except that if !exec*! ultimately fails, then
40 all other threads are already killed.