本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > p

pthread_setcancelstate(3T)

pthread ライブラリ
HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

pthread_setcancelstate(), pthread_setcanceltype() ― 現在のスレッドの取り消し可能状態や形式の設定と取得

構文

#include <pthread.h> 
 
int pthread_setcancelstate( 
   int state, 
   int *oldstate 
); 
 
int pthread_setcanceltype( 
   int type, 
   int *oldtype 
); 

パラメータ

state  

呼び出しスレッドの取り消し可能状態の設定値。

oldstate  

呼び出しスレッドの以前の取り消し可能状態が返される領域へのポインター。

type  

呼び出しスレッドの取り消し可能形式の設定値。

oldtype  

呼び出しスレッドの以前の取り消し可能形式が返される領域へのポインター。

説明

pthread_setcancelstate() はアトミックに、呼び出しスレッドの取り消し可能状態を state に設定し、前回の取り消し可能状態を oldstate に返します。 state の有効な値は次のとおりです。

PTHREAD_CANCEL_DISABLE
  

呼び出しスレッドの取り消し可能性を無効にします。 呼び出しスレッドに対する取り消し要求は、保留されます。

PTHREAD_CANCEL_ENABLE
  

呼び出しスレッドの取り消し可能性を有効にします。 呼び出しスレッドに対する取り消し要求は、受け付けられます。 保留のキャンセル要求がいつ受け付けられるかは、スレッドの取り消し可能形式によって異なります。

デフォルトでは、スレッドの取り消し可能状態は、作成時に PTHREAD_CANCEL_ENABLE に設定されます。

pthread_setcanceltype() はアトミックに、呼び出しスレッドの取り消し可能形式を type に設定し、前回の取り消し可能形式を oldtype に返します。 type の有効な値は、次のとおりです。

PTHREAD_CANCEL_ASYNCHRONOUS
  

呼び出しスレッドへの新規または保留された取り消し要求は、いつでも受け付けることができます (呼び出しスレッドで取り消しが有効になっている場合)。

PTHREAD_CANCEL_DEFERRED
  

呼び出しスレッドへの取り消し要求は、取り消し位置に達するまで保留されます。

スレッドの取り消し可能形式は、作成時に PTHREAD_CANCEL_DEFERRED に設定されます。

スレッドの取り消し可能状態が無効にされた場合、スレッドの取り消し可能形式の設定は、すぐには影響を及ぼしません。 取り消し要求はすべて保留のままです。 しかし、取り消し可能を再び使用可能にすれば、新しい取り消し可能形式が有効になります。

戻り値

正常終了すると pthread_setcancelstate()pthread_setcanceltype() は 0 を返します。 それ以外の場合、エラーの内容を表すエラー番号を返します (errno 変数は使用しません)。

エラー

以下の条件の場合、 pthread_setcancelstate()pthread_setcanceltype() 関数は、該当するエラー番号を返します。

[EINVAL] 

state に無効な値が含まれている場合。

[EINVAL] 

type に無効な値が含まれている場合。

注意

非同期に取り消しが可能なスレッドからは、非同期の取り消しに対して害のない関数のみ呼び出すようにする必要があります。

著者

pthread_setcancelstate()pthread_setcanceltype() は、IEEE POSIX P1003.1c 規格から派生しました。

標準準拠

pthread_setcancelstate(): POSIX 1003.1c.
pthread_setcanceltype(): POSIX 1003.1c.

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.