Voltar à lista
Linux x86_64Rede & sockets#48

shutdown

Encerra parcial ou totalmente a comunicação em um socket conectado, sem fechar o descritor.

Descrição

Permite encerrar apenas o lado de envio (SHUT_WR, produzindo EOF do lado remoto e liberando a leitura de dados já em trânsito), apenas o de recepção, ou ambos — diferente de `close`, que também libera o descritor.

Header: sys/socket.hman 2

Assinatura

int shutdown(int sockfd, int how);

Parâmetros

ParâmetroTipoDescrição
sockfdintDescritor do socket.
howintSHUT_RD, SHUT_WR ou SHUT_RDWR.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1sockfdint
rsiargumento 2howint

Valor de retorno

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

Códigos de erro (errno)

EBADF(9)
Descritor de arquivo inválido.
ENOTCONN(107)
Socket não conectado.
ENOTSOCK(88)
Operação de socket em descritor que não é um socket.

Relacionadas