Man page - pthread_attr_setstacksize(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

PTHREAD_ATTR_SETSTACKSIZE

名 前
書 式
説 明
返 り 値
エ ラ ー
バ ー ジ ョ ン
属 性
準 拠
注 意
バ グ

関 連 項 目
こ の 文 書 に つ い て

名 前

pthread_attr_setstacksize, pthread_attr_getstacksize - ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の ス タ ッ ク サ イ ズ 属 性 の 設 定 /取 得 を 行 う

書 式

#include <pthread.h>

int pthread_attr_setstacksize(pthread_attr_t * attr , size_t stacksize );
int pthread_attr_getstacksize(const pthread_attr_t *
attr ,
size_t *
stacksize );

-pthread で コ ン パ イ ル し て リ ン ク す る 。

説 明

pthread_attr_setstacksize () 関 数 は 、 attr が 参 照 す る ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の ス タ ッ ク ア ド レ ス 属 性 を stacksize で 指 定 さ れ た 値 に 設 定 す る 。

ス タ ッ ク サ イ ズ 属 性 に よ り 、 ス レ ッ ド 属 性 オ ブ ジ ェ ク ト attr を 使 っ て 作 成 さ れ た ス レ ッ ド に 割 り 当 て ら れ る 最 小 サ イ ズ (バ イ ト 単 位 ) が 決 定 さ れ る 。

pthread_attr_getstacksize () は 、 ス レ ッ ド 属 性 オ ブ ジ ェ ク ト attr の ス タ ッ ク ア ド レ ス 属 性 を stacksize が 指 す バ ッ フ ァ ー に 入 れ て 返 す 。

返 り 値

成 功 す る と 、 こ れ ら の 関 数 は 0 を 返 す 。 エ ラ ー の 場 合 、 0 以 外 の エ ラ ー 番 号 を 返 す 。

エ ラ ー

pthread_attr_setstacksize () は 以 下 の エ ラ ー で 失 敗 す る 場 合 が あ る 。

EINVAL

ス タ ッ ク サ イ ズ が PTHREAD_STACK_MIN (16384) バ イ ト 未 満 で あ る 。

い く つ か の シ ス テ ム で は 、 pthread_attr_setstacksize () は stacksize が シ ス テ ム の ペ ー ジ サ イ ズ の 倍 数 で な い 場 合 に も エ ラ ー EINVAL で 失 敗 す る 。

バ ー ジ ョ ン

こ れ ら の 関 数 は glibc バ ー ジ ョ ン 2.1 以 降 で 提 供 さ れ て い る 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-26609-1.png

準 拠

POSIX.1-2001, POSIX.1-2008.

注 意

新 し い ス レ ッ ド の デ フ ォ ル ト の ス タ ッ ク サ イ ズ の 詳 細 に つ い て は pthread_create (3) を 参 照 。

ス レ ッ ド の ス タ ッ ク サ イ ズ は 、 ス レ ッ ド 作 成 時 点 で は 固 定 で あ る 。 メ イ ン ス レ ッ ド だ け が ス タ ッ ク を 動 的 に 伸 ば す こ と が で き る 。

pthread_attr_setstack (3) 関 数 を 使 う と 、 ア プ リ ケ ー シ ョ ン は 、 ス レ ッ ド が 使 用 す る ス タ ッ ク と し て 、 呼 び 出 し 側 で 割 り 当 て た ス タ ッ ク の サ イ ズ と 場 所 を 指 定 で き る 。

バ グ

glibc 2.8 の 時 点 で は 、 指 定 さ れ た stacksize STACK_ALIGN (ほ と ん ど の ア ー キ テ ク チ ャ ー で は 16 バ イ ト ) の 倍 数 で な い 場 合 、 stacksize 小 さ く な る 方 向 に に 丸 め ら れ る 。 こ れ は POSIX.1 に 違 反 し て い る 。 POSIX.1 で は 、 割 り 当 て ら た ス タ ッ ク の 大 き さ は 少 な く と も stacksize バ イ ト に な る と 書 か れ て い る 。

pthread_create (3) を 参 照 。

関 連 項 目

getrlimit (2), pthread_attr_init (3), pthread_attr_setguardsize (3), pthread_attr_setstack (3), pthread_create (3), pthreads (7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。