Linux repositories inspector

set_thread_area(2) - Japanese

Linux
2012-07-13
Aliases: get_thread_area(2), get_thread_area(2), get_thread_area(2)

manpages-ja-dev

Japanese version of the manual pages (for developers)

man-pages-ja

Japanese man (manual) pages from the Japanese Manual Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

名前

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) を使うこと。

関連項目

この文書について

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