tail head cat sleep
QR code linking to this page

manページ  — PTHREAD_SETSPECIFIC

名称

pthread_setspecific – スレッド固有のデータ値の設定

内容

ライブラリ

Reentrant C\~Library (libc_r, -lc_r)

書式

#include <pthread.h>

int
pthread_setspecific(pthread_key_t key, const void *value);

解説

pthread_setspecific() 関数は、以前の pthread_key_create() の呼び出しを通して入手した key に、スレッド固有の値を関連付けます。 異なるスレッドは同じキーに対して異なる値を、結びつけることができます。 これらの値は、通常は呼び出しているスレッドによって既に予約されて、 動的に割り当てられたメモリブロックを指すポインタです。

pthread_key_create() から入手したのではない key の値を伴った、または pthread_key_delete() によって key が削除された後での、 pthread_setspecific() の呼び出しの結果は未定義です。

pthread_setspecific() はスレッド固有のデータのデストラクタ関数から呼び出されることがあります。 しかしながら、これは記憶領域を失ったり、 無限ループに陥ったりすることがあります。

戻り値

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

エラー

pthread_setspecific() は以下の場合に失敗します。
[ENOMEM]
  key と関連付けるための値の十分なメモリがありません。
[EINVAL]
  key の値が無効です。

関連項目

pthread_getspecific(3), pthread_key_create(3), pthread_key_delete(3)

規格

pthread_setspecific() は IEEE Std 1003.1-96 ("POSIX.1") に適合しています。

PTHREAD_SETSPECIFIC (3) April 4, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

“ Do you laugh when the waiter drops a tray full of dishes? Unix weenies do. They're the first ones to laugh at hapless users, trying to figure out an error message that doesn't have anything to do with what they just typed. ”
— The Unix Haters' handbook