pthread_attr_setstacksize サブルーチン
目的
スレッド属性オブジェクトの stacksize 属性の値を設定します。
ライブラリー
スレッドライブラリlibpthreads.a)
構文
#include <pthread.h>
int pthread_attr_setstacksize (attr, stacksize)
pthread_attr_t *attr;
size_t stacksize;説明
pthread_attr_setstacksizeサブルーチンは、スレッド属性オブジェクトattr の stacksize 属性の値を設定します。 この属性は、この属性オブジェクトで作成されたスレッドの最小スタックサイズをバイト単位で指定します。
割り当てられたスタック・サイズは常に8Kバイトの倍数であり、要求される最小スタック・サイズ56Kバイト(PTHREAD_STACK_MIN)以上である。 必要なスタック・サイズが56Kバイトより小さい場合、割り当てられたスタック・サイズは56Kバイトであり、そうでない場合、必要なスタック・サイズが(56 +(n - 1) * 16) Kバイトから(56 +n * 16) Kバイトの範囲に属する場合、割り当てられたスタック・サイズは(56 +n * 16) Kバイトである。
注: pthread.hヘッダーファイルは、スレッド・ライブラリーを使用する各ソース・ファイルの最初のインクルード・ファイルでなければならない。 そうでない場合は、-D_THREAD_SAFEコンパイル・フラグを使うか、cc_rコンパイラーを使うべきである。 この場合、フラグは自動的に設定されます。
パラメーター
| 項目 | 説明 |
|---|---|
| attr | スレッド属性オブジェクトを指定します。 |
| stacksize | 設定する最小スタック・サイズをバイト単位で指定します。 デフォルトのスタックサイズはPTHREAD_STACK_MIN である。 最小スタックサイズはこの値以上でなければならない。 |
戻り値
正常終了すると、0 が戻されます。 それ以外の場合は、エラー・コードが戻されます。
エラー・コード
pthread_attr_setstacksizeサブルーチンは、以下の場合に失敗する:
| 項目 | 説明 |
|---|---|
| EINVAL | attr パラメーターが無効であるか、 stacksize パラメーターの値がシステムが課した制限を超えています。 |
| ENOSYS | スタック・サイズの POSIX オプションは実装されていません。 |