Manpages

名 前

set_thread_area − ス レ ッ ド 局 所 記 憶 (TLS) 領 域 を 設 定 す る

書 式

#include <linux/unistd.h>
#include <asm/ldt.h>

int set_thread_area(struct user_desc *u_info); : こ の シ ス テ ム コ ー ル に は glibc の ラ ッ パ ー 関 数 は 存 在 し な い 。 「 注 意 」 の 節 を 参 照 。

説 明

set_thread_area() は 、 カ レ ン ト ス レ ッ ド の ス レ ッ ド 局 所 記 憶 (thread−local storage; TLS) 配 列 の 中 の エ ン ト リ ー を 設 定 す る 。 set_thread_area() に よ り 設 定 さ れ る TLS 配 列 の エ ン ト リ ー は 、 ユ ー ザ ー か ら 引 き 数 と し て 渡 さ れ る u_info−>entry_number の 値 に 対 応 し て い る 。 値 が 範 囲 内 に あ る 場 合 、 set_thread_area() は u_info で 指 さ れ た TLS デ ィ ス ク リ プ タ ー を ス レ ッ ド の TLS 配 列 に コ ピ ー す る 。

entry_number と し て −1 が 渡 さ れ た 場 合 、 set_thread_area() は 未 使 用 (free) の TLS エ ン ト リ ー を 使 用 す る 。 未 使 用 の TLS エ ン ト リ ー が あ っ た 場 合 、 ど の エ ン ト リ ー が 変 更 さ れ た か が 分 か る よ う に 終 了 時 に u_info−>entry_number の 値 が 変 更 さ れ る 。

返 り 値

set_thread_area() は 成 功 し た 場 合 0 を 返 す 。 失 敗 し た 場 合 は −1 を 返 し 、 errno を 適 切 に 設 定 す る 。

エ ラ ー

EINVAL

u_info−>entry_number が 範 囲 外 で あ る 。

EFAULT

u_info が 不 正 な ポ イ ン タ ー で あ る 。

ESRCH

未 使 用 の TLS エ ン ト リ ー が 見 つ か ら な か っ た 。

バ ー ジ ョ ン

set_thread_area() は Linux 2.5.29 で 初 め て 登 場 し た 。

準 拠

set_thread_area() は Linux 独 自 で あ り 、 移 植 を 意 図 し た プ ロ グ ラ ム で は 使 用 す べ き で は な い 。

注 意

こ の シ ス テ ム コ ー ル は 通 常 は ス レ ッ ド ラ イ ブ ラ リ で の み 使 用 さ れ る こ と を 目 的 と し て 用 意 さ れ て い る た め 、 glibc は こ の シ ス テ ム コ ー ル に 対 す る ラ ッ パ ー 関 数 を 提 供 し て い な い 。 お そ ら く な い と 思 う が 、 こ の シ ス テ ム コ ー ル を 直 接 呼 び 出 し た い 場 合 は syscall(2) を 使 う こ と 。

関 連 項 目

get_thread_area(2)

こ の 文 書 に つ い て

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