GET_THREAD_AREA(2)

名前
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.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。