home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | VERSIONS | CONFORMING TO | NOTES | SEE ALSO | COLOPHON


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

NAME         top

       set_thread_area - Set a Thread Local Storage (TLS) area

SYNOPSIS         top

       #include <linux/unistd.h>
       #include <asm/ldt.h>

       int set_thread_area(struct user_desc *u_info);

DESCRIPTION         top

       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.

RETURN VALUE         top

       set_thread_area() returns 0 on success, and -1 on failure, with errno set
       appropriately.

ERRORS         top

       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.

VERSIONS         top

       A version of set_thread_area() first appeared in Linux 2.5.29.

CONFORMING TO         top

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

NOTES         top

       Glibc does not provide a wrapper for this system call; call it using
       syscall(2).

SEE ALSO         top

       get_thread_area(2)

COLOPHON         top

       This page is part of release 3.23 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

Linux                                 2008-11-27                   SET_THREAD_AREA(2)