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

属性

  マルチスレッディング (pthreads(7) 参照)
pthread_kill_other_threads_np() 関数はスレッドセーフである。

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