Manpages

名 前

pthread_attr_setstackaddr, pthread_attr_getstackaddr − ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の ス タ ッ ク ア ド レ ス 属 性 の 設 定 /取 得 を 行 う

書 式

#include <pthread.h>

int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr);
int pthread_attr_getstackaddr(const pthread_attr_t *
attr, void **stackaddr);

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

説 明

こ れ ら の 関 数 は 廃 止 予 定 で あ り 、 使 用 し な い こ と 。 代 わ り に pthread_attr_setstack(3)pthread_attr_getstack(3) を 使 う こ と 。

pthread_attr_setstackaddr() 関 数 は 、 attr が 参 照 す る ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の ス タ ッ ク ア ド レ ス 属 性 を stackaddr で 指 定 さ れ た 値 に 設 定 す る 。 こ の 属 性 に よ り 、 ス レ ッ ド 属 性 オ ブ ジ ェ ク ト attr を 使 っ て 作 成 さ れ る ス レ ッ ド が 使 用 す べ き ス タ ッ ク の 位 置 が 指 定 さ れ る 。

stackaddr は 呼 び 出 し 側 が 割 り 当 て た バ ッ フ ァ ー (大 き さ は 少 な く と も PTHREAD_STACK_MIN バ イ ト )を 指 す べ き で あ る 。 割 り 当 て ら れ た バ ッ フ ァ ー の ペ ー ジ は 読 み 書 き 両 方 が 可 能 な ペ ー ジ と な っ て い る べ き で あ る 。

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

返 り 値

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

エ ラ ー

エ ラ ー は 定 義 さ れ て い な い (た だ し 、 ア プ リ ケ ー シ ョ ン は 正 の エ ラ ー の 返 り 値 を 処 理 す る よ う に す べ き で あ る )。

バ ー ジ ョ ン

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

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 pthread_attr_setstackaddr() と pthread_attr_getstackaddr() は ス レ ッ ド セ ー フ で あ る 。

準 拠

POSIX.1−2001 で は 、 こ れ ら の 関 数 が 規 定 さ れ て い る が 、 廃 止 予 定 と な っ て い る 。 POSIX.1−2008 で は 、 こ れ ら の 関 数 の 規 定 は 削 除 さ れ て い る 。

注 意

こ れ ら の 関 数 を 使 用 し な い こ と ! こ れ ら の 関 数 は 移 植 性 が あ る 形 で は 使 用 で き な い 。 な ぜ な ら 、 こ れ ら の 関 数 で は ス タ ッ ク 領 域 が ど ち ら の 方 向 に 伸 び る の か を 指 定 す る 手 段 が 提 供 さ れ て い な い か ら で あ る 。 例 え ば 、 ス タ ッ ク が 下 向 き (ア ド レ ス が 小 さ い 方 向 ) に 伸 び る ア ー キ テ ク チ ャ ー で は 、 stackaddr に は 割 り 当 て ら れ た ス タ ッ ク 領 域 の 最 も 大 き な ア ド レ ス の 次 の ア ド レ ス を 指 定 す る 。 一 方 、 ス タ ッ ク が 上 向 き (ア ド レ ス が 大 き い 方 向 ) に 伸 び る ア ー キ テ ク チ ャ ー で は 、 stackaddr に は 割 り 当 て ら れ た ス タ ッ ク 領 域 の 最 も 小 さ い ア ド レ ス を 指 定 す る 。 こ れ に 対 し て 、 pthread_attr_setstack(3)pthread_attr_getstack(3) が 使 用 す る stackaddr は 、 常 に 割 り 当 て ら れ た ス タ ッ ク 領 域 の 最 も 小 さ い ア ド レ ス へ の ポ イ ン タ ー で あ る (stacksize 引 き 数 は ス タ ッ ク の 範 囲 を 指 定 す る )。

関 連 項 目

pthread_attr_init(3), pthread_attr_setstack(3), pthread_attr_setstacksize(3), pthread_create(3), pthreads(7)

こ の 文 書 に つ い て

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