table of contents
SET_THREAD_AREA(2) | Руководство программиста Linux | SET_THREAD_AREA(2) |
ИМЯ¶
set_thread_area - назначение области локального хранилища нити TLS
ОБЗОР¶
#include <linux/unistd.h>
#include <asm/ldt.h>
int set_thread_area(struct user_desc *u_info);
ОПИСАНИЕ¶
set_thread_area() устанавливает элемент в массиве области локального хранилища текущей нити (TLS, Thread Local Storage). Индекс элемента массива TLS, устанавливаемого set_thread_area(), соответствует значению u_info->entry_number, переданного пользователем. Если это значение находится в допустимых пределах, то set_thread_area() копирует соответствующий описатель, на который указывает u_info, в массив TLS нити.
Когда set_thread_area() передаётся entry_number со значением -1, то используется свободный элемент TLS. Если set_thread_area() находит свободный элемент TLS, то значение u_info->entry_number устанавливается после возврата для показа того, какой же элемент был изменён.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При нормальном завершении работы set_thread_area() возвращает 0 и -1 в случае проблем, а также присваивает errno соответствующее значение.
ОШИБКИ¶
ВЕРСИИ¶
Вызов set_thread_area() впервые появился в Linux 2.5.29.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
set_thread_area() есть только в Linux, и он не должен использоваться в переносимых программах.
ЗАМЕЧАНИЯ¶
В glibc нет обёртки для данного системного вызова; запускайте его с помощью syscall(2).
СМОТРИТЕ ТАКЖЕ¶
2008-11-27 | Linux |