Name

set_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);
 

DESCRIPTION

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

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

ERRORS

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

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

CONFORMING TO

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

NOTES

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

SEE ALSO

get_thread_area(2)

COLOPHON

This page is part of release 3.24 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/.


  Copyright (C) 2003 Free Software Foundation, Inc.
This file is distributed according to the GNU General Public License.
See the file COPYING in the top level source directory for details.

Author: Kent Yoder