summaryrefslogtreecommitdiff
path: root/serverloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'serverloop.c')
-rw-r--r--serverloop.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/serverloop.c b/serverloop.c
index 58e901de8..977ed41f6 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -85,7 +85,6 @@ sigchld_handler2(int sig)
85 int save_errno = errno; 85 int save_errno = errno;
86 debug("Received SIGCHLD."); 86 debug("Received SIGCHLD.");
87 child_terminated = 1; 87 child_terminated = 1;
88 signal(SIGCHLD, sigchld_handler2);
89 errno = save_errno; 88 errno = save_errno;
90} 89}
91 90
@@ -650,6 +649,7 @@ server_loop2(void)
650 while ((pid = waitpid(-1, &status, WNOHANG)) > 0) 649 while ((pid = waitpid(-1, &status, WNOHANG)) > 0)
651 session_close_by_pid(pid, status); 650 session_close_by_pid(pid, status);
652 child_terminated = 0; 651 child_terminated = 0;
652 signal(SIGCHLD, sigchld_handler2);
653 } 653 }
654 channel_after_select(&readset, &writeset); 654 channel_after_select(&readset, &writeset);
655 process_input(&readset); 655 process_input(&readset);