diff options
author | Thomas Adam <thomas@xteddy.org> | 2018-03-08 10:02:26 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2018-03-08 10:02:26 +0000 |
commit | 9fd995275201893a604d15bb426e0f5a7f7971e6 (patch) | |
tree | 5680ec4fe61bc9a544507a402c6598ccd41f45d3 /server.c | |
parent | 3c451a64b59a20dac9be9455b02266ca575f4d3b (diff) | |
parent | 19f3a5c6120c5d845eb942e67413c03c0c008a87 (diff) | |
download | rtmux-9fd995275201893a604d15bb426e0f5a7f7971e6.tar.gz rtmux-9fd995275201893a604d15bb426e0f5a7f7971e6.tar.bz2 rtmux-9fd995275201893a604d15bb426e0f5a7f7971e6.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -243,6 +243,7 @@ server_loop(void) { struct client *c; u_int items; + struct job *job; do { items = cmdq_next(NULL); @@ -275,6 +276,11 @@ server_loop(void) if (!TAILQ_EMPTY(&clients)) return (0); + LIST_FOREACH(job, &all_jobs, entry) { + if ((~job->flags & JOB_NOWAIT) && job->state == JOB_RUNNING) + return (0); + } + return (1); } @@ -290,8 +296,11 @@ server_send_exit(void) TAILQ_FOREACH_SAFE(c, &clients, entry, c1) { if (c->flags & CLIENT_SUSPENDED) server_client_lost(c); - else + else { + if (c->flags & CLIENT_ATTACHED) + notify_client("client-detached", c); proc_send(c->peer, MSG_SHUTDOWN, -1, NULL, 0); + } c->session = NULL; } |