PTHREAD_KEY_DELETE(3)

名称
pthread_key_delete - スレッド固有のデータキーの削除

ライブラリ
libc_r

書式
<pthread.h> int pthread_key_delete(pthread_key_t key)

解説
pthread_key_delete() 関数は、以前に pthread_key_create() によって返されたスレッド固有のデータキーを削除します。 key に関連付けられたスレッド固有のデータ値は、 pthread_key_delete() が呼び出される時点で NULL である必要はありません。 全てのアプリケーション記憶領域の解放、または削除されたキーに関連した データ構造や全てのスレッドの中のスレッド固有のデータの全ての クリーンアップ動作の実行は、アプリケーションの責務です。 このクリーンアップは pthread_key_delete() が呼び出される前後で実行されることが可能です。 pthread_key_delete() の呼び出しの後で、 key を使用しようとする全ての試みの結果は、不定動作になります。

pthread_key_delete() 関数は、デストラクタ関数の中から呼び出すことが可能です。 デストラクタ関数は、 pthread_key_delete() からは呼び出されません。 key に関連付けられているかもしれない全てのデストラクタ関数は、 スレッドの終了時にはもはや呼び出されません。

戻り値
問題がない場合は、 pthread_key_delete() 関数は 0 を返します。 問題がある場合は、そのエラーを示すためにエラー番号が返されます。

エラー
pthread_key_delete() は以下の場合に失敗します。

[EINVAL]
    key の値が無効です。

関連項目
pthread_getspecific(3), pthread_key_create(3), pthread_setspecific(3)

規格
pthread_key_delete() は p1003.1-96 に適合しています。