Voltar à lista
Linux x86_64Processos & threads#218

set_tid_address

Registra um endereço de memória a ser zerado (e sinalizado via futex) quando a thread terminar.

Descrição

Mecanismo interno usado pela implementação de threads do glibc (NPTL) para acordar `pthread_join` sem precisar de um sinal — quando a thread termina, o kernel escreve 0 no endereço registrado e faz um FUTEX_WAKE nele.

man 2Desde o kernel 2.5.48

Nota

Chamada automaticamente pelo glibc ao criar threads; não deve ser usada diretamente por código de aplicação comum.

Assinatura

long set_tid_address(int * tidptr);

Parâmetros

ParâmetroTipoDescrição
tidptrint *Endereço a zerar/sinalizar na terminação da thread.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1tidptrint *

Valor de retorno

O TID da thread chamadora (esta chamada não tem modo de falha significativo).

Códigos de erro (errno)

Nenhum código de erro específico documentado para esta chamada.

Relacionadas