LINUX.ORG.RU

per thread global variable (+)


0

0

есть необходимость создать глобальный указатель,
а лудше пару таких указателей для конкретного треда

проще всего понять что мне надо
взгнянув на глобальную переменную errno
если установлен флаг _REENTRANT то макросом производиться
подмена на функцию
/* Function to get address of global `errno' variable. */
extern int *__errno_location (void) __THROW __attribute__ ((__const__));

которая достает адрес переменной специфичный для
данного треда......

как это сделано ?
где почитать ?

как я понимаю у треда есть какой-то контекст
и мы можем как-то к нему привязаться, но
чет с ходу не нашел как это делаеться......

ну и другой момент мне нужно из одного треда
каким-то образом получить доступ к этой самой
глобальной переменной другого треда и соответственно
че-то там модифицировать....

хелп ми плизз :)

anonymous


Thread Local Storage
mab pthread_key_create и далее

// wbr

klalafuda ★☆☆
()

модификатор переменной __thread

аки __thread int i;

man gcc

generatorglukoff ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.