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 2Depreciada
Prefira `epoll_create1` (syscall 291), que suporta EPOLL_CLOEXEC.
Assinatura
int epoll_create(int size);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| size | int | Sugestão de capacidade inicial, ignorada desde o Linux 2.6.8 (mantida > 0 apenas por compatibilidade). |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | sizeint |
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.