pthread_key_delete() - スレッド固有のデータ・キーの削除

標準

標準/拡張機能 C/C++ 依存項目

Single UNIX Specification、バージョン 3

両方

z/OS V1R7
POSIX(ON)

形式

#define _OPEN_THREADS 2
#include <pthread.h>

int pthread_key_delete(pthread_key_t key);

機能説明

pthread_key_delete() は、pthread_key_create() によって作成されたスレッド固有のデータ・キーを削除します。 key に関連したスレッド固有のデータ値は、key を削除する際に NULL である必要はありません。ストレージを解放したり、いずれかのスレッド内で削除された key に関連した、スレッド固有のデータを参照するデータ構造をクリーンアップしたりする処理は、アプリケーションが行う必要があります。key が削除された後、スレッド固有のデータ・キーを受け取る関数にそのキーを渡すと、未定義の動作が発生します。

pthread_key_delete() は、デストラクター関数から呼び出すことができます。pthread_key_delete() の呼び出しにより、デストラクター関数が呼び出されることはありません。作成されたときに key に関連していたデストラクター関数は、key が削除された後は、スレッド出口で呼び出されません。

戻り値

正常に実行された場合、pthread_key_delete() は 0 を戻します。失敗した場合、pthread_key_delete() は次のエラーを示すエラー番号を戻します。
エラー・コード
説明
EINVAL
キー値が無効です。

関連情報