]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordtucker@openbsd.org <dtucker@openbsd.org>
Sun, 4 Dec 2016 22:27:25 +0000 (22:27 +0000)
committerDarren Tucker <dtucker@zip.com.au>
Mon, 5 Dec 2016 06:24:42 +0000 (17:24 +1100)
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

sshd.c

diff --git a/sshd.c b/sshd.c
index fafcd3400b889e455f3577a8322465ff84835fdf..53107caf5c718971abfa00189fc349c8102c727b 100644 (file)
--- a/sshd.c
+++ b/sshd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshd.c,v 1.478 2016/11/30 00:28:31 dtucker Exp $ */
+/* $OpenBSD: sshd.c,v 1.479 2016/12/04 22:27:25 dtucker Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -290,6 +290,8 @@ static void
 sighup_restart(void)
 {
        logit("Received SIGHUP; restarting.");
+       if (options.pid_file != NULL)
+               unlink(options.pid_file);
        platform_pre_restart();
        close_listen_socks();
        close_startup_pipes();
@@ -1841,7 +1843,7 @@ main(int ac, char **av)
                 * Write out the pid file after the sigterm handler
                 * is setup and the listen sockets are bound
                 */
-               if (options.pid_file != NULL && !debug_flag && !already_daemon) {
+               if (options.pid_file != NULL && !debug_flag) {
                        FILE *f = fopen(options.pid_file, "w");
 
                        if (f == NULL) {