:man| Alphabetical   Categories   About us 
"SET_THREAD_AREA" (2) | System calls | Unix Manual Pages | :man


set_thread_area - Set a Thread Local Storage (TLS) area




#include <linux/unistd.h>

#include <asm/ldt.h>

int set_thread_area (struct user_desc *u_info);


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 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.


set_thread_area returns 0 on success. Otherwise, it returns one of the errors listed in the "Errors" section.


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.


set_thread_area is Linux specific and should not be used in programs that are intended to be portable.


A version of set_thread_area first appeared in Linux 2.5 in August, 2002.





Created by Blin Media, 2008-2013