Linux x86_64Arquivos & E/S#32
dup
Duplica um descritor de arquivo, retornando o menor descritor livre que aponta para a mesma file description.
Descrição
O novo descritor compartilha posição de arquivo e flags de status com o original (mas não a flag close-on-exec).
Header:
unistd.hman 2Assinatura
int dup(int oldfd);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| oldfd | int | Descritor a duplicar. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | oldfdint |
Valor de retorno
O novo descritor de arquivo em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EBADF(9)
- Descritor de arquivo inválido.
- EMFILE(24)
- Limite de arquivos abertos do processo atingido.