aboutsummaryrefslogtreecommitdiff
path: root/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'server.c')
-rw-r--r--server.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/server.c b/server.c
index f7588145..cc6563de 100644
--- a/server.c
+++ b/server.c
@@ -192,10 +192,18 @@ static int
server_loop(void)
{
struct client *c;
+ u_int items;
- server_client_loop();
notify_drain();
+ do {
+ items = cmdq_next(NULL);
+ TAILQ_FOREACH(c, &clients, entry)
+ items += cmdq_next(c);
+ } while (items != 0);
+
+ server_client_loop();
+
if (!options_get_number(global_options, "exit-unattached")) {
if (!RB_EMPTY(&sessions))
return (0);