Linux x86_64IPC & sincronização#274
get_robust_list
Consulta a lista de mutexes robustos registrada por uma thread (própria ou de outro processo, com permissão).
Descrição
Contraparte de leitura de `set_robust_list`, usada principalmente por depuradores e ferramentas de introspecção.
man 2Desde o kernel 2.6.17
Assinatura
long get_robust_list(
int pid,
struct robust_list_head ** head_ptr,
size_t * len_ptr
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| pid | int | Thread alvo; 0 significa o chamador. |
| head_ptr | struct robust_list_head ** | Recebe o endereço da cabeça da lista. |
| len_ptr | size_t * | Recebe o tamanho da estrutura. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | pidint |
| rsi | argumento 2 | head_ptrstruct robust_list_head ** |
| rdx | argumento 3 | len_ptrsize_t * |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EPERM(1)
- Operação não permitida (falta de privilégio).
- ESRCH(3)
- Processo inexistente.