diff options
author | Colin Percival <cperciva@FreeBSD.org> | 2013-12-03 21:35:25 +0000 |
---|---|---|
committer | Colin Percival <cperciva@FreeBSD.org> | 2013-12-03 21:35:25 +0000 |
commit | 1cdbb9ed2b771b064b1698bcb1ce02280c2af1bd (patch) | |
tree | d701fc04062425101ad73f57356ca6f94a821c12 /sys | |
parent | 04c171520ddfc8a30116009894f28678940035b2 (diff) | |
download | src-1cdbb9ed2b771b064b1698bcb1ce02280c2af1bd.tar.gz src-1cdbb9ed2b771b064b1698bcb1ce02280c2af1bd.zip |
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.
Notes
Notes:
svn path=/head/; revision=258893
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/kern_shutdown.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index b120263ec17b..89b2ff0308ed 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -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? */ |