1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-23 11:18:54 +00:00

Add a new sysctl / loader tunable kern.panic_reboot_wait_time which

defaults to PANIC_REBOOT_WAIT_TIME (a long-existing kernel config
setting).  Use this now-variable value in place of the defined constant
to control how long the system waits after a panic before rebooting.
This commit is contained in:
Colin Percival 2013-12-03 21:35:25 +00:00
parent 04c171520d
commit 1cdbb9ed2b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=258893

View File

@ -89,6 +89,11 @@ __FBSDID("$FreeBSD$");
#ifndef PANIC_REBOOT_WAIT_TIME
#define PANIC_REBOOT_WAIT_TIME 15 /* default to 15 seconds */
#endif
int panic_reboot_wait_time = PANIC_REBOOT_WAIT_TIME;
SYSCTL_INT(_kern, OID_AUTO, panic_reboot_wait_time, CTLFLAG_RW | CTLFLAG_TUN,
&panic_reboot_wait_time, 0,
"Seconds to wait before rebooting after a panic");
TUNABLE_INT("kern.panic_reboot_wait_time", &panic_reboot_wait_time);
/*
* Note that stdarg.h and the ANSI style va_start macro is used for both
@ -485,12 +490,12 @@ shutdown_panic(void *junk, int howto)
int loop;
if (howto & RB_DUMP) {
if (PANIC_REBOOT_WAIT_TIME != 0) {
if (PANIC_REBOOT_WAIT_TIME != -1) {
if (panic_reboot_wait_time != 0) {
if (panic_reboot_wait_time != -1) {
printf("Automatic reboot in %d seconds - "
"press a key on the console to abort\n",
PANIC_REBOOT_WAIT_TIME);
for (loop = PANIC_REBOOT_WAIT_TIME * 10;
panic_reboot_wait_time);
for (loop = panic_reboot_wait_time * 10;
loop > 0; --loop) {
DELAY(1000 * 100); /* 1/10th second */
/* Did user type a key? */