set_thread_areaのヘルプ・マニュアル
日本語 英語
set_thread_area --help
man set_thread_area
SET_THREAD_AREA(2) Linux Programmer’s Manual SET_THREAD_AREA(2)
名前
set_thread_area - スレッド局所記憶 (TLS) 領域を設定する
書式
#include
#include
int set_thread_area(struct user_desc *u_info);
説明
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)
Linux 2008-11-27 SET_THREAD_AREA(2)
SET_THREAD_AREA(2) Linux Programmer’s Manual SET_THREAD_AREA(2)
NAME
set_thread_area - Set a Thread Local Storage (TLS) area
SYNOPSIS
#include
#include
int set_thread_area(struct user_desc *u_info);
DESCRIPTION
set_thread_area() sets an entry in the current thread’s Thread Local
Storage (TLS) array. The TLS array entry set by set_thread_area() cor-
responds to the value of u_info->entry_number passed in by the user.
If this value is in bounds, set_thread_area() copies the TLS descriptor
pointed to by u_info into the thread’s TLS array.
When set_thread_area() is passed an entry_number of -1, it uses a free
TLS entry. If set_thread_area() finds a free TLS entry, the value of
u_info->entry_number is set upon return to show which entry was
changed.
RETURN VALUE
set_thread_area() returns 0 on success, and -1 on failure, with errno
set appropriately.
ERRORS
EINVAL u_info->entry_number is out of bounds.
EFAULT u_info is an invalid pointer.
ESRCH A free TLS entry could not be located.
VERSIONS
A version of set_thread_area() first appeared in Linux 2.5.29.
CONFORMING TO
set_thread_area() is Linux-specific and should not be used in programs
that are intended to be portable.
NOTES
Glibc does not provide a wrapper for this function; call it using
syscall(2).
SEE ALSO
get_thread_area(2)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-11-27 SET_THREAD_AREA(2)