From 99d1c8f0ab4a213a5087b6103ca07a8cb355c2c2 Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 16 Apr 2005 15:19:50 +0000 Subject: Fixed lingering (SO_REUSEADDR was being set to 0?) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1111 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/commands.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/commands.cpp') diff --git a/src/commands.cpp b/src/commands.cpp index 3a30a3972..547d47536 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -336,16 +336,16 @@ void handle_restart(char **parameters, int pcnt, userrec *user) sleep(1); for (int i = 0; i < 65536; i++) { - int on = 0; + int on = 1; struct linger linger = { 0 }; setsockopt(i, SOL_SOCKET, SO_REUSEADDR, (const char*)&on, sizeof(on)); linger.l_onoff = 1; - linger.l_linger = 0; + linger.l_linger = 1; setsockopt(i, SOL_SOCKET, SO_LINGER, (const char*)&linger,sizeof(linger)); Blocking(i); close(i); } - sleep(5); + sleep(2); execv(MyExecutable,argv); -- cgit v1.2.3