From f384c366d33cb435627743f7ea0ed3f966543d40 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 13 Sep 2000 10:43:26 +1100 Subject: [PATCH] - (djm) Fix server not exiting with jobs in background. --- ChangeLog | 3 +++ serverloop.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6b112b6c7..fa9b472ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +20000913 + - (djm) Fix server not exiting with jobs in background. + 20000905 - (djm) Import OpenBSD CVS changes - markus@cvs.openbsd.org 2000/08/31 15:52:24 diff --git a/serverloop.c b/serverloop.c index 00617bb81..8c17c0d56 100644 --- a/serverloop.c +++ b/serverloop.c @@ -86,6 +86,7 @@ sigchld_handler2(int sig) int save_errno = errno; debug("Received SIGCHLD."); child_terminated = 1; + child_has_selected = 0; errno = save_errno; } @@ -652,6 +653,8 @@ server_loop2(void) signal(SIGCHLD, sigchld_handler2); } channel_after_select(&readset, &writeset); + if (child_terminated && child_has_selected) + break; process_input(&readset); process_output(&writeset); }