− shut down part of a full-duplex connection
shutdown(int sockfd, int
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.
zero is returned. On error, −1 is returned, and
errno is set appropriately.
sockfd is not a valid
An invalid value was specified in how (but see
The specified socket is not
The file descriptor
sockfd does not refer to a socket.
POSIX.1-2008, 4.4BSD (shutdown() first appeared in
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.
Checks for the
validity of how are done in domain-specific code, and
before Linux 3.7 not all domains performed these checks.
Most notably, UNIX domain sockets simply ignored invalid
values. This problem was fixed for UNIX domain sockets in
This page is
part of release 4.04 of the Linux man-pages project.
A description of the project, information about reporting
bugs, and the latest version of this page, can be found at