PTHREAD_KILL_OTHER_THREADS_NP
Section: C Library Functions (3)
Updated: LinuxThreads
Index
JM Home Page
roff page
名前
pthread_kill_other_threads_np - 呼び出しスレッドを除くすべてのスレッドを終了させる
書式
#include <pthread.h>
void pthread_kill_other_threads_np(void);
説明
pthread_kill_other_threads_np
はポータブルでない LinuxThreads の拡張である。
この関数は呼び出しスレッドを除く、プログラム中のすべてのスレッドを
直ちに終了させる。呼び出しスレッドはそのまま実行を継続する。
pthread_kill_other_threads_np
は、スレッドが
execve(2)
などの
exec
関数のうちの 1 つを呼び出す直前に使われることを想定している。
他のスレッドの終了は
pthread_cancel(3)
を働かせて行なわれるわけではなく、
取り消し機構を完全に迂回する。
すなわち、終了するスレッドの取り消し状態や取り消し型に関する現在の設定は無視され、
クリーンアップハンドラも実行されない。
著者
Xavier Leroy <Xavier.Leroy@inria.fr>
関連項目
execve(2),
pthread_setcancelstate(3),
pthread_setcanceltype(3),
pthread_cancel(3).
バグ
POSIX 1003.1c 規格では、
1 つのスレッドで
exec*
が成功した場合、
プログラム中の他のスレッドはすべて自動的に
終了されなければならないことになっている。
この振る舞いは LinuxThreads ではまだ実装されていない。
exec*
の前に
pthread_kill_other_threads_np
を呼び出すことで、
次の点を除いて
だいたい同じ振る舞いを実現することができる。
それは、結果として
exec*
が失敗した場合でも、
他のスレッドはすでに終了されているということである。
Index
- 名前
-
- 書式
-
- 説明
-
- 著者
-
- 関連項目
-
- バグ
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:44 GMT, November 24, 2023