EN JA
PTHREAD_ATTR_GET_NP(3)
PTHREAD_ATTR_GET_NP(3) FreeBSD Library Functions Manual PTHREAD_ATTR_GET_NP(3)

名称

pthread_attr_get_np存在するスレッドの属性を取得する

ライブラリ

POSIX Threads Library (libpthread, -lpthread)

書式

#include < pthread_np.h>

int
pthread_attr_get_np( pthread_t pid, pthread_attr_t *dst);

解説

pthread_attr_get_np() 関数は、現存のスレッドの属性を得るために使用されます。 pthread_attr_t 構造体のほとんどのフィールドは、スタックアドレスを除いて、 ( pthread_create(3) 関数へのパラメータとして) スレッド生成時に提供される属性の的確な値です。

dst として返された値は、 pthread_attr_t 構造体から個別の値を取り出す pthread_attr_get*() 関数と共に使用されると思われます。パラメータ dst は、この構造体に適合するために十分に大きな割り付けられたメモリ領域を指すべきです。

それは、属性記憶域を割り付ける pthread_attr_init(3) 関数を使用する HIGHLY RECOMMENDED です。

実装に関する注

pthread_attr_get_np() 関数は、オリジナル属性構造体中のその値にかかわらず、常にスレッドの実際のスタックアドレスへのポインタを返すでしょう。

戻り値

成功すれば、 pthread_attr_get_np() 関数は、0 を返します。そうでなければ、エラーを示すためにエラー番号を返します。

使用例

size_t 
my_thread_stack_size(pthread_t pid) 
{ 
    pthread_attr_t attr; 
    size_t size; 
 
    pthread_attr_init(&attr); 
    pthread_attr_get_np(pid, &attr); 
    pthread_attr_getstacksize(&attr, &size); 
    pthread_attr_destroy(&attr); 
    return(size); 
}

エラー

pthread_attr_get_np() 関数は、次の場合に失敗します:
[ EINVAL]
与えられたパラメータのうちの 1 つが、無効の値。
[ ESRC]
スレッドが、与えられたスレッド ID によって指定されたそれに対応するものを見つけることができません。

作者

pthread_attr_get_np() 関数とこのマニュアルページは、 Alexey Zelkin <phantom@FreeBSD.org>によって書かれました。
January 31, 2003 FreeBSD