diff options
author | Colin Watson <cjwatson@debian.org> | 2010-01-10 22:07:13 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2010-01-10 22:07:13 +0000 |
commit | 8d610ba26a3041f567441d7260f47425ef52012b (patch) | |
tree | a4c67a075ff370922dfe8ab575eadd4b319d1d30 /sshd.c | |
parent | d0d0d064f3ee3dc0b89a63de478973d392adf71f (diff) |
* Backport from upstream:
- After sshd receives a SIGHUP, ignore subsequent HUPs while sshd
re-execs itself. Prevents two HUPs in quick succession from resulting
in sshd dying (LP: #497781).
Diffstat (limited to 'sshd.c')
-rw-r--r-- | sshd.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -317,6 +317,7 @@ sighup_restart(void) | |||
317 | close_listen_socks(); | 317 | close_listen_socks(); |
318 | close_startup_pipes(); | 318 | close_startup_pipes(); |
319 | alarm(0); /* alarm timer persists across exec */ | 319 | alarm(0); /* alarm timer persists across exec */ |
320 | signal(SIGHUP, SIG_IGN); /* will be restored after exec */ | ||
320 | execv(saved_argv[0], saved_argv); | 321 | execv(saved_argv[0], saved_argv); |
321 | logit("RESTART FAILED: av[0]='%.100s', error: %.100s.", saved_argv[0], | 322 | logit("RESTART FAILED: av[0]='%.100s', error: %.100s.", saved_argv[0], |
322 | strerror(errno)); | 323 | strerror(errno)); |