Я хочу иметь возможность прекратить прослушивание сокета сервера в Linux и убедиться, что все соединения, открытые с точки зрения клиента, правильно обрабатываются и не закрываются внезапно (т.е. :получить ECONNRESET).
т.е.:
sock = create_socket();
listen(sock, non_zero_backlog);
graceful_close(sock);
если бы было достаточно вызова close()и обработки уже принятых сокетов, но могут быть соединения, открытые в невыполненной работе ядра, которые будут внезапно закрыты, если вы вызовете close()на сокет сервера.