Linux x86_64Tempo & temporizadores#38
setitimer
Arma, reconfigura ou desarma um dos temporizadores por-processo (interval timers) do POSIX.
Descrição
Contraparte de escrita de `getitimer`. ITIMER_REAL dispara SIGALRM em tempo real; ITIMER_VIRTUAL dispara SIGVTALRM contando apenas tempo de CPU em modo usuário; ITIMER_PROF dispara SIGPROF contando tempo de CPU total (usuário + sistema).
Header:
sys/time.hman 2Assinatura
int setitimer(
int which,
const struct itimerval * new_value,
struct itimerval * old_value
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| which | int | ITIMER_REAL, ITIMER_VIRTUAL ou ITIMER_PROF. |
| new_value | const struct itimerval * | Novo valor e intervalo de repetição do temporizador. |
| old_value | struct itimerval * | Se não for NULL, recebe o valor anterior. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | whichint |
| rsi | argumento 2 | new_valueconst struct itimerval * |
| rdx | argumento 3 | old_valuestruct itimerval * |
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).
- EINVAL(22)
- Argumento inválido.