EN JA
PTHREAD_CANCEL(3)
PTHREAD_CANCEL(3) FreeBSD Library Functions Manual PTHREAD_CANCEL(3)

名称

pthread_cancelスレッドの実行を取り消す

ライブラリ

POSIX Threads Library (libpthread, -lpthread)

書式

#include < pthread.h>

int
pthread_cancel( pthread_t thread);

解説

pthread_cancel() 関数は、 thread が取り消されることを要求します。目標スレッドの取り消し可能性状態およびタイプは、いつ取り消しの効果を現わすか決めます。取り消しが作用される時、 thread のための取り消しクリーンアップハンドラが呼ばれます。最後の取り消しクリーンアップハンドラが戻った時、スレッド特有のデータデストラクタ関数が thread のために呼ばれるでしょう。最後のデストラクタ関数が戻る時、 thread は、終了するでしょう。

目標スレッドの中の取り消し処理は、 pthread_cancel() から戻る呼び出しスレッドに関して非同期に走ります。

PTHREAD_CANCELED のステータスは、目標と結合する任意のスレッドで利用可能になります。記号定数の PTHREAD_CANCELED は、タイプ (void *) の定数表現に展開されます。その値は、メモリの中のオブジェクトのポインタにも値 NULL にもマッチしません。

戻り値

成功したなら、 pthread_cancel() 関数は、0 を返します。その他の場合は、エラーを示す番号が返されます。

エラー

pthread_cancel() 関数は、次の場合に失敗します:
[ ESRCH]
指定されたスレッド ID に対応するスレッドが見つかりません。

規格

pthread_cancel() 関数は、 ISO/IEC 9945-1:1996 (“POSIX.1”) に準拠しています。

作者

このマニュアルページは、 pthread_cancel() の OpenBSD 実装のために David Leonard <d@openbsd.org>によって書かれました。
January 17, 1999 FreeBSD