set_thread_area - システムコールの説明 - Linux コマンド集 一覧表
名前
set_thread_area - スレッド局所記憶 (TLS) 領域を設定する
書式
#include <linux/unistd.h>
#include <asm/ldt.h>
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 独自であり、移植を意図したプログラムでは使用すべきではない。
バージョン
set_thread_area ()は Linux 2.5.29 で初めて登場した。