pthread_attr_init サブルーチン
目的
スレッド属性オブジェクトを作成し、デフォルト値に初期化します。
ライブラリー
スレッド・ライブラリー (libpthreads.a)
構文
#include <pthread.h> int pthread_attr_init ( attr)
pthread_attr_t *attr;
pthread_attr_t *attr;
説明
pthread_attr_init サブルーチンは、新しいスレッド属性オブジェクト attrを作成します。 新しいスレッド属性オブジェクトは、以下のデフォルト値で初期化されます。
常に初期化
| 属性 | デフォルト値 |
|---|---|
| Detachstate | PTHREAD_CREATE_JOINABLE |
| contention-scope | PTHREAD_SCOPE_SYSTEM は、この POSIX オプションをサポートしないインプリメンテーションとの互換性を保証します。 |
| Inheritsched | PTHREAD_INHERITSCHED |
| Schedparam | sched_param 構造体。sched_prioフィールドは 1 (最も優先度の低い優先度) に設定されます。 |
| Schedpolicy | SCHED_OTHER |
| Stacksize | PTHREAD_STACK_MIN |
| Guardsize | PAGESIZE |
結果の属性オブジェクト (個々の属性値を設定することによって変更される可能性があります) は、 pthread_createによって使用されると、作成されるスレッドの属性を定義します。 単一の属性オブジェクトを、 pthread_createへの複数の同時呼び出しで使用することができます。
パラメーター
| 項目 | 説明 |
|---|---|
| attr | 作成するスレッド属性オブジェクトを指定します。 |
戻り値
正常終了すると、新規スレッド属性オブジェクトにはデフォルト値が設定され、 attr パラメーターを介して戻され、0 が戻されます。 それ以外の場合は、エラー・コードが戻されます。
エラー・コード
pthread_attr_init サブルーチンは、以下が真の場合には失敗します。
| 項目 | 説明 |
|---|---|
| EINVAL | attr パラメーターが正しくありません。 |
| ENOMEM | スレッド属性オブジェクトを作成するための十分なメモリーがありません。 |
この関数は、エラー・コード [EINTR] を返しません。