shutdown -
закрывает
часть
полнодуплексного
соединения
Standard C library (
libc,
-lc)
#include <sys/socket.h>
int shutdown(int sockfd, int how);
Вызов
shutdown()
приводит к
закрытию
всего
полнодуплексного
соединения
или его
части в
сокете,
связанном
с
sockfd. Если
значение
how
равно
SHUT_RD, то
дальнейший
приём
данных
будет
запрещён.
Если
значение
how
равно
SHUT_WR, то
дальнейшая
передача
данных
будет
запрещена.
Если
значение
how
равно
SHUT_RDWR, то
дальнейший
приём и
передача
данных
будут
запрещены.
On success, zero is returned. On error, -1 is returned, and
errno is set
to indicate the error.
- EBADF
- Значение
sockfd не
является
правильным
файловым
дескриптором.
- EINVAL
- Указано
неверное
значение в
how (но
смотрите
ДЕФЕКТЫ).
- ENOTCONN
- Указанный
сокет не
подключён.
- ENOTSOCK
- Файловый
дескриптор
sockfd
указывает
не на
каталог.
POSIX.1-2001, POSIX.1-2008, 4.4BSD, (
shutdown()
впервые
появился в
4.2BSD).
Константы
SHUT_RD,
SHUT_WR,
SHUT_RDWR
имеют
значения 0, 1, 2,
соответственно,
и
определены
в
<sys/socket.h>
начиная с
glibc-2.1.91.
Проверки
применимости
how
выполняются
в коде,
относящемся
к домену, и
до Linux 3.7
проверки
были не во
всех
доменах. В
первую
очередь,
это были
доменные
сокеты UNIX,
которые
просто
игнорировали
некорректные
значения.
Данная
проблема
была
устранена
для
доменных
сокетов UNIX в Linux
3.7.
close(2),
connect(2),
socket(2),
socket(7)
Русский
перевод
этой
страницы
руководства
был сделан
Alexander Golubev <
[email protected]>, Azamat Hackimov
<
[email protected]>, Hotellook, Nikita
<
[email protected]>, Spiros Georgaras <
[email protected]>, Vladislav
<
[email protected]>, Yuri Kozlov <
[email protected]>
и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]