From 73c6e0c358bd10473364f1836f8873fab43d616b Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Fri, 17 Jan 2020 01:20:48 +0000 Subject: [PATCH] Small tweak to the default behavior of shutdown -c 'shutdown -c' is supposed to power cycle the system rather than doing a normal reboot. However, when that fails, it halts the system. This is not quite right since the intent isn't to halt the system but to restart. Make the default init behavior be to restart the system. The halt(8) interface can be used if you'd like to powercycle or halt. MFC After: 1 week Differential Revision: https://reviews.freebsd.org/D23129 --- sbin/init/init.c | 6 ++++-- sbin/shutdown/shutdown.8 | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sbin/init/init.c b/sbin/init/init.c index 8a13e7ee6e70..35291a674d73 100644 --- a/sbin/init/init.c +++ b/sbin/init/init.c @@ -1629,12 +1629,14 @@ transition_handler(int sig) current_state == clean_ttys || current_state == catatonia) requested_transition = clean_ttys; break; - case SIGWINCH: case SIGUSR2: - howto = sig == SIGUSR2 ? RB_POWEROFF : RB_POWERCYCLE; + howto = RB_POWEROFF; case SIGUSR1: howto |= RB_HALT; + case SIGWINCH: case SIGINT: + if (sig == SIGWINCH) + howto |= RB_POWERCYCLE; Reboot = TRUE; case SIGTERM: if (current_state == read_ttys || current_state == multi_user || diff --git a/sbin/shutdown/shutdown.8 b/sbin/shutdown/shutdown.8 index 557a942bb406..443f27f32cf0 100644 --- a/sbin/shutdown/shutdown.8 +++ b/sbin/shutdown/shutdown.8 @@ -28,7 +28,7 @@ .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 .\" $FreeBSD$ .\" -.Dd January 1, 2018 +.Dd January 11, 2020 .Dt SHUTDOWN 8 .Os .Sh NAME @@ -63,7 +63,7 @@ The following options are available: The system is power cycled (power turned off and then back on) at the specified time. If the hardware doesn't support power cycle, the system will be -halted. +rebooted. At the present time, only systems with BMC supported by the .Xr ipmi 4 driver that implement this functionality support this flag.