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
に関連付けられているかもしれない全てのデストラクタ関数は、
スレッドの終了時にはもはや呼び出されません。