summaryrefslogtreecommitdiff
path: root/sshd.c
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2016-12-04 22:27:25 +0000
committerDarren Tucker <dtucker@zip.com.au>2016-12-05 17:24:42 +1100
commitf2398eb774075c687b13af5bc22009eb08889abe (patch)
tree54e419c29abd0b11a9067a5fb73e050fbdb0c56a /sshd.c
parent85aa2efeba51a96bf6834f9accf2935d96150296 (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
Diffstat (limited to 'sshd.c')
-rw-r--r--sshd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sshd.c b/sshd.c
index fafcd3400..53107caf5 100644
--- a/sshd.c
+++ b/sshd.c
@@ -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
290sighup_restart(void) 290sighup_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) {