NAMEset_thread_area - Set a Thread Local Storage (TLS) area
SYNOPSIS#include <linux/unistd.h> #include <asm/ldt.h> int set_thread_area(struct user_desc *u_info);
DESCRIPTIONset_thread_area() sets an entry in the current thread's Thread Local Storage (TLS) array. The TLS array entry set by set_thread_area() corresponds 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 VALUEset_thread_area() returns 0 on success, and -1 on failure, with errno set appropriately.
ERRORSEINVAL u_info->entry_number is out of bounds. EFAULT u_info is an invalid pointer. ESRCH A free TLS entry could not be located.
VERSIONSA version of set_thread_area() first appeared in Linux 2.5.29.
CONFORMING TOset_thread_area() is Linux-specific and should not be used in programs that are intended to be portable.
NOTESGlibc does not provide a wrapper for this system call; call it using syscall(2).
COLOPHONThis page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at //www.kernel.org/doc/man-pages/. SET_THREAD_AREA(2)