PTHREAD_KILL_OTHER_THREADS_NP(3)

名前
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 は 無視され、それらのスレッドのクリーンアップハンドラーは呼び出されない。

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
pthread_kill_other_threads_np() | Thread safety | MT-Safe

準拠
この関数は非標準の 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 プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。