Manpages

名 前

get_thread_area − ス レ ッ ド 局 所 記 憶 (TLS) 領 域 を 取 り 出 す

書 式

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

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

説 明

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

返 り 値

成 功 し た 場 合 、 get_thread_area() は 0 を 返 す 。 そ う で な い 場 合 、 −1 を 返 し 、 errno に 適 切 な 値 を セ ッ ト す る 。

エ ラ ー

EFAULT

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

EINVAL

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

バ ー ジ ョ ン

get_thread_area() は Linux 2.5.32 で 初 め て 登 場 し た 。

準 拠

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

注 意

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

関 連 項 目

modify_ldt(2), set_thread_area(2)

こ の 文 書 に つ い て

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