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.