Graceful Shutdown Server Socket в Linux

Я хочу иметь возможность прекратить прослушивание сокета сервера в Linux и убедиться, что все соединения, открытые с точки зрения клиента, правильно обрабатываются и не закрываются внезапно (т.е. :получить ECONNRESET).

т.е.:

sock = create_socket();
listen(sock, non_zero_backlog);
graceful_close(sock);

если бы было достаточно вызова close()и обработки уже принятых сокетов, но могут быть соединения, открытые в невыполненной работе ядра, которые будут внезапно закрыты, если вы вызовете close()на сокет сервера.

11
задан benmmurphy 13 March 2012 в 09:38
поделиться