Scroll to navigation

SET_THREAD_AREA(2) Linux Programmer's Manual SET_THREAD_AREA(2)

名前

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 を適切に設定する。

エラー

u_info->entry_number が範囲外である。
u_info が不正なポインタである。
未使用の TLS エントリが見つからなかった。

バージョン

set_thread_area() は Linux 2.5.29 で初めて登場した。

準拠

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

注意

glibc はこの関数に対するラッパー関数を提供していない。 この関数を使用するには syscall(2) を使用すること。

関連項目

get_thread_area(2)

2008-11-27 Linux