struct _thread_local_storage

Структура, характеризующая локальное хранилище потока (Thread Local Storage, TLS)

Прототип:

#include <sys/storage.h>
/*
* Thread local storage. This data is at the top of each threads stack.
*/
struct _thread_local_storage {
void (*__exitfunc)( void * );
void *__arg;
int *__errptr;
int __errval; /* Not used for main() thread. */
unsigned __flags;
int __pid;
int __tid;
unsigned __owner;
void *__stackaddr;
unsigned __reserved1;
unsigned __numkeys;
void **__keydata; /* Indexed by pthread_key_t */
void *__cleanup;
void *__fpuemu_data;
void *__reserved3;
void (*__sigaction)( int __code, siginfo_t * __info, void * __other );
};

Описание:

Тип позволяет получать сведения о локальном хранилище потока потока (Thread Local Storage, TLS). Структура включает следующие поля:

void (*__exitfunc)( void * ) Функция, вызываемая при завершении потока.
__arg Единственный аргумент, который был передан потоку.
__errptr Указатель на уникальное для потока значение errno. Для главного потока указывает на глобальную переменную errno. Для всех остальных потоков указывает на errval член описываемой структуры.
__errval Уникальное для потока значение errno, которое используется, если поток не является главным.
__flags Флаги потоков, использованные при создании потока в дополнение к флагам времени исполнения, необходимых для реализации завершения потока.
__pid Идентификатор процесса, содержащего поток.
__tid Идентификатор потока.

Остальные поля используются для внутренних нужд.

Каждый поток содержит локальное хранилище потока, используемое для своих закрытых данных. Вы можете получить указатель на эту область, вызвав __tls().

Классификация:

ЗОСРВ «Нейтрино»

Тематические ссылки:

errno, siginfo_t, __tls(), ThreadCreate(), ThreadCreate_r()




Предыдущий раздел: Описание API системной библиотеки