pthread_kill_other_threads_np -
プロセス内の他の全スレッドを終了する
#include <pthread.h>
void pthread_kill_other_threads_np(void);
pthread_kill_other_threads_np() は、 LinuxThreads
スレッド実装においてのみ効果がある。
LinuxThreads
スレッド実装では、この関数を呼び出すと
アプリケーション内の全てのスレッドがすぐに終了される。
終了対象のスレッドの
cancelability state と cancelability type は
無視され、それらのスレッドのクリーンアップハンドラは呼び出されない。
この関数は非標準の GNU
による拡張である。
そのため、名前に
"_np" (nonportable;
移植性がない)
という接尾辞が
付いている。
pthread_kill_other_threads_np() は、
スレッドが
execve(2)
や同様の関数を呼び出す直前に
呼ばれることを目的として用意されている。
この関数は、(廃止予定の)
LinuxThreads
スレッド実装における、
execve(2)
の際にアプリケーションの他のスレッドが自動的に
終了されないという制限を解決するために設計された。
NPTL スレッド実装では、
pthread_kill_other_threads_np()
は存在するが、
何もしない(NPTL 実装は
execve(2)
の際に適切な動作をするので、
何もする必要がないということだ)。
関連項目¶
execve(2),
pthread_cancel(3),
pthread_setcancelstate(3),
pthread_setcanceltype(3),
pthreads(7)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。