diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-16 15:19:50 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-04-16 15:19:50 +0000 |
commit | 99d1c8f0ab4a213a5087b6103ca07a8cb355c2c2 (patch) | |
tree | c08f29366976c80482d9fe4651ace8ea964bc16b /src/commands.cpp | |
parent | 3cd71f1ee59649a6202e07bae486e15f3b2267f8 (diff) |
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
Diffstat (limited to 'src/commands.cpp')
-rw-r--r-- | src/commands.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
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); |