1. NOM

set_thread_area - Définir la zone de stockage local (TLS) du thread

2. SYNOPSIS

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

int set_thread_area(struct user_desc *u_info); Remarque : il n'existe pas de fonction glibc autour de cet appel système ; consultez NOTES.

3. DESCRIPTION

set_thread_area() remplit une entrée de la table TLS de stockage du thread en cours. Le numéro de l'entrée remplie par set_thread_area() correspond à la valeur u_info->entry_number fournie par l'utilisateur. Si la valeur est dans les limites, set_thread_area() copie le descripteur pointé par u_info dans la table TLS du thread.

Quand set_thread_area() reçoit un numéro entry_number valant -1, il utilise une entrée libre dans la table TLS. Si set_thread_area() trouve une entrée TLS libre, la valeur de u_info->entry_number est remplie au retour pour montrer quelle entrée a été modifiée.

4. VALEUR RENVOYÉE

set_thread_area() renvoie 0 s'il réussit et -1 s'il échoue et écrit errno en conséquence.

5. ERREURS

  • EINVAL
        u_info->entry_number est hors des limites.
  • EFAULT
        u_info est un pointeur invalide.
  • ESRCH
        Impossible de trouver une entrée TLS libre.

6. VERSIONS

Une version de set_thread_area() est apparue dans Linux 2.5.29.

7. CONFORMITÉ

set_thread_area() est spécifique à Linux et ne devrait pas être employé dans un programme conçu pour être portable.

8. NOTES

La glibc ne fournit pas de fonction autour de cet appel système, puisqu'il a normalement pour seul but d'être utilisé dans les bibliothèques de threads. Au cas improbable où vous voudriez l'appeler directement, utilisez syscall(2).

9. VOIR AUSSI

10. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

11. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».