aboutsummaryrefslogtreecommitdiffstats
path: root/pseudo_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'pseudo_server.c')
-rw-r--r--pseudo_server.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pseudo_server.c b/pseudo_server.c
index 1fdadcb..56fbbc4 100644
--- a/pseudo_server.c
+++ b/pseudo_server.c
@@ -474,7 +474,7 @@ pseudo_server_loop(void) {
if (die_forcefully)
break;
}
- if (!(die_peacefully || die_forcefully) &&
+ if (!die_forcefully &&
(FD_ISSET(clients[0].fd, &events) ||
FD_ISSET(clients[0].fd, &reads))) {
len = sizeof(client);
@@ -482,6 +482,11 @@ pseudo_server_loop(void) {
pseudo_debug(PDBGF_SERVER, "new client fd %d\n", fd);
open_client(fd);
}
+ /* A new client implicitly cancels a previous
+ * shutdown request.
+ */
+ pseudo_server_timeout = 30;
+ die_peacefully = 0;
}
pseudo_debug(PDBGF_SERVER, "server loop complete [%d clients left]\n", active_clients);
}