=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server.c,v retrieving revision 1.179 retrieving revision 1.180 diff -u -r1.179 -r1.180 --- src/usr.bin/tmux/server.c 2018/02/22 10:54:51 1.179 +++ src/usr.bin/tmux/server.c 2018/03/08 08:09:10 1.180 @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.179 2018/02/22 10:54:51 nicm Exp $ */ +/* $OpenBSD: server.c,v 1.180 2018/03/08 08:09:10 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -244,6 +244,7 @@ { struct client *c; u_int items; + struct job *job; do { items = cmdq_next(NULL); @@ -276,6 +277,11 @@ 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); } @@ -291,8 +297,11 @@ 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; }