Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all bug

名前

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

関連項目

       get_thread_area(2)

この文書について

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

Linux                                              2012-07-13                                 SET_THREAD_AREA(2)