Voltar à lista
Linux x86_64E/S assíncrona & eventos#210

io_cancel

Tenta cancelar uma operação de I/O assíncrono AIO previamente submetida.

Descrição

Cancelamento é best-effort — operações já em estágio avançado de execução podem completar normalmente mesmo após uma tentativa de cancelamento.

Header: linux/aio_abi.hman 2Desde o kernel 2.6

Assinatura

int io_cancel(
    aio_context_t ctx_id,
    struct iocb * iocb,
    struct io_event * result
);

Parâmetros

ParâmetroTipoDescrição
ctx_idaio_context_tContexto AIO.
iocbstruct iocb *Operação a cancelar.
resultstruct io_event *Se o cancelamento tiver sucesso, recebe o evento de conclusão correspondente.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1ctx_idaio_context_t
rsiargumento 2iocbstruct iocb *
rdxargumento 3resultstruct io_event *

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.
EFAULT(14)
Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
EINVAL(22)
Argumento inválido.
ENOSYS(38)
Chamada de sistema não implementada nesta versão do kernel.

Relacionadas