shutdown(2) - Linux man page
Name
shutdown - shut down part of a full-duplex connection
Synopsis
#include <sys/socket.h>
int shutdown(int sockfd, int how);
Description
The shutdown() call causes all or part of a full-duplex connection on the socket associated with
sockfd to be shut down. If how is SHUT_RD, further receptions will be disallowed. If how is SHUT_WR, further transmissions
will be disallowed. If how is SHUT_RDWR, further receptions and transmissions will be disallowed.
Return Value
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
Errors
- EBADF
- sockfd is not a valid descriptor.
- EINVAL
- An invalid value was specified in how (but see BUGS).
- ENOTCONN
- The specified socket is not connected.
- ENOTSOCK
- sockfd is a file, not a socket.
Conforming to
POSIX.1-2001, 4.4BSD (the shutdown() function call first appeared in 4.2BSD).
Notes
The constants SHUT_RD, SHUT_WR, SHUT_RDWR have the value 0, 1, 2, respectively, and are
defined in <sys/socket.h> since glibc-2.1.91.
Bugs
As currently implemented, checks for the validity of how are done in domain-specific code, and not all
domains perform these checks. Most notably, UNIX domain sockets simply ignore invalid values; this may change in the future.
See Also
connect(2), socket(2), socket(7)
Referenced By
close(2),
iv_fd_pump_pump(3),
lsof(8),
recv(2),
send(2),
socketcall(2)