diff options
Diffstat (limited to 'sshd.c')
-rw-r--r-- | sshd.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1931,9 +1931,15 @@ main(int ac, char **av) | |||
1931 | } | 1931 | } |
1932 | } | 1932 | } |
1933 | 1933 | ||
1934 | if (getenv("SSH_SIGSTOP")) | 1934 | if (getenv("SSH_SIGSTOP")) { |
1935 | /* Tell service supervisor that we are ready. */ | 1935 | /* Tell service supervisor that we are ready. */ |
1936 | kill(getpid(), SIGSTOP); | 1936 | kill(getpid(), SIGSTOP); |
1937 | /* The service supervisor only ever expects a single | ||
1938 | * STOP signal, so do not ever signal it again, even | ||
1939 | * in the case of a re-exec or future children. | ||
1940 | */ | ||
1941 | unsetenv("SSH_SIGSTOP"); | ||
1942 | } | ||
1937 | 1943 | ||
1938 | /* Accept a connection and return in a forked child */ | 1944 | /* Accept a connection and return in a forked child */ |
1939 | server_accept_loop(&sock_in, &sock_out, | 1945 | server_accept_loop(&sock_in, &sock_out, |