diff options
author | dtucker@openbsd.org <dtucker@openbsd.org> | 2016-12-04 22:27:25 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2016-12-05 17:24:42 +1100 |
commit | f2398eb774075c687b13af5bc22009eb08889abe (patch) | |
tree | 54e419c29abd0b11a9067a5fb73e050fbdb0c56a | |
parent | 85aa2efeba51a96bf6834f9accf2935d96150296 (diff) |
upstream commit
Unlink PidFile on SIGHUP and always recreate it when the
new sshd starts. Regression tests (and possibly other things) depend on the
pidfile being recreated after SIGHUP, and unlinking it means it won't contain
a stale pid if sshd fails to restart. ok djm@ markus@
Upstream-ID: 132dd6dda0c77dd49d2f15b2573b5794f6160870
-rw-r--r-- | sshd.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sshd.c,v 1.478 2016/11/30 00:28:31 dtucker Exp $ */ | 1 | /* $OpenBSD: sshd.c,v 1.479 2016/12/04 22:27:25 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -290,6 +290,8 @@ static void | |||
290 | sighup_restart(void) | 290 | sighup_restart(void) |
291 | { | 291 | { |
292 | logit("Received SIGHUP; restarting."); | 292 | logit("Received SIGHUP; restarting."); |
293 | if (options.pid_file != NULL) | ||
294 | unlink(options.pid_file); | ||
293 | platform_pre_restart(); | 295 | platform_pre_restart(); |
294 | close_listen_socks(); | 296 | close_listen_socks(); |
295 | close_startup_pipes(); | 297 | close_startup_pipes(); |
@@ -1841,7 +1843,7 @@ main(int ac, char **av) | |||
1841 | * Write out the pid file after the sigterm handler | 1843 | * Write out the pid file after the sigterm handler |
1842 | * is setup and the listen sockets are bound | 1844 | * is setup and the listen sockets are bound |
1843 | */ | 1845 | */ |
1844 | if (options.pid_file != NULL && !debug_flag && !already_daemon) { | 1846 | if (options.pid_file != NULL && !debug_flag) { |
1845 | FILE *f = fopen(options.pid_file, "w"); | 1847 | FILE *f = fopen(options.pid_file, "w"); |
1846 | 1848 | ||
1847 | if (f == NULL) { | 1849 | if (f == NULL) { |