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

epoll_create

Cria uma instância epoll, um mecanismo escalável de notificação de eventos de E/S.

Descrição

Diferente de poll/select (que reexaminam todos os descritores a cada chamada, custo O(n)), epoll mantém uma lista de interesse registrada uma vez no kernel e reporta apenas os descritores que de fato têm eventos — essencial para servidores com dezenas de milhares de conexões simultâneas.

Header: sys/epoll.hman 2

Depreciada

Prefira `epoll_create1` (syscall 291), que suporta EPOLL_CLOEXEC.

Assinatura

int epoll_create(int size);

Parâmetros

ParâmetroTipoDescrição
sizeintSugestão de capacidade inicial, ignorada desde o Linux 2.6.8 (mantida > 0 apenas por compatibilidade).

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1sizeint

Valor de retorno

Um novo descritor de epoll 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.
ENFILE(23)
Limite de arquivos abertos no sistema atingido.
ENOMEM(12)
Memória insuficiente para completar a operação.

Relacionadas