Linux x86_64E/S assíncrona & eventos#283
timerfd_create
Cria um descritor de arquivo que se torna legível quando um temporizador expira.
Descrição
Como `signalfd`, integra temporizadores ao modelo de loop de eventos baseado em descritores de arquivo, em vez de sinais ou callbacks.
Header:
sys/timerfd.hman 2Desde o kernel 2.6.25Assinatura
int timerfd_create(int clockid, int flags);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| clockid | int | CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_BOOTTIME, etc. |
| flags | int | TFD_NONBLOCK, TFD_CLOEXEC. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | clockidint |
| rsi | argumento 2 | flagsint |
Valor de retorno
Um descritor timerfd em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EINVAL(22)
- Argumento inválido.
- EMFILE(24)
- Limite de arquivos abertos do processo atingido.
- ENODEV(19)
- Dispositivo inexistente.
- ENOMEM(12)
- Memória insuficiente para completar a operação.
Relacionadas
Equivalente em Windows Win32