SET_THREAD_AREA
Section: Linux Programmer's Manual (2)
Updated: 2008-11-27
Index
Return to Main Contents
 
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.35 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://man7.org/linux/man-pages/.
 Index
- NAME
- 
- SYNOPSIS
- 
- DESCRIPTION
- 
- RETURN VALUE
- 
- ERRORS
- 
- VERSIONS
- 
- CONFORMING TO
- 
- NOTES
- 
- SEE ALSO
- 
- COLOPHON
- 
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved