Voltar à lista
Linux x86_64Tempo & temporizadores#222

timer_create

Cria um temporizador POSIX por processo, associado a um relógio e a um mecanismo de notificação.

Descrição

Mais flexível que `setitimer`: suporta múltiplos temporizadores independentes por processo e notificação tanto por sinal quanto por thread nova (SIGEV_THREAD), baseado em qualquer clockid suportado (CLOCK_REALTIME, CLOCK_MONOTONIC, etc.).

Header: time.hman 2

Assinatura

int timer_create(
    clockid_t clockid,
    struct sigevent * sevp,
    timer_t * timerid
);

Parâmetros

ParâmetroTipoDescrição
clockidclockid_tRelógio base do temporizador.
sevpstruct sigevent *Como notificar a expiração (sinal, thread, ou nada).
timeridtimer_t *Recebe o identificador do novo temporizador.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1clockidclockid_t
rsiargumento 2sevpstruct sigevent *
rdxargumento 3timeridtimer_t *

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EAGAIN(11)
Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.
EINVAL(22)
Argumento inválido.
ENOMEM(12)
Memória insuficiente para completar a operação.

Relacionadas