aboutsummaryrefslogtreecommitdiff
path: root/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'init.c')
-rw-r--r--init.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/init.c b/init.c
index 5203713ca..ba65f51fd 100644
--- a/init.c
+++ b/init.c
@@ -41,6 +41,7 @@
41#include <linux/serial.h> /* for serial_struct */ 41#include <linux/serial.h> /* for serial_struct */
42#include <sys/vt.h> /* for vt_stat */ 42#include <sys/vt.h> /* for vt_stat */
43#include <sys/ioctl.h> 43#include <sys/ioctl.h>
44#include <linux/version.h>
44#ifdef BB_SYSLOGD 45#ifdef BB_SYSLOGD
45#include <sys/syslog.h> 46#include <sys/syslog.h>
46#endif 47#endif
@@ -49,6 +50,10 @@
49#error Sorry, I depend on the /proc filesystem right now. 50#error Sorry, I depend on the /proc filesystem right now.
50#endif 51#endif
51 52
53#ifndef KERNEL_VERSION
54#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
55#endif
56
52 57
53#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */ 58#define VT_PRIMARY "/dev/tty1" /* Primary virtual console */
54#define VT_SECONDARY "/dev/tty2" /* Virtual console */ 59#define VT_SECONDARY "/dev/tty2" /* Virtual console */
@@ -418,9 +423,11 @@ static void halt_signal(int sig)
418 "The system is halted. Press CTRL-ALT-DEL or turn off power\r\n"); 423 "The system is halted. Press CTRL-ALT-DEL or turn off power\r\n");
419 sync(); 424 sync();
420#ifndef DEBUG_INIT 425#ifndef DEBUG_INIT
426#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,2,0)
421 if (sig == SIGUSR2) 427 if (sig == SIGUSR2)
422 reboot(RB_POWER_OFF); 428 reboot(RB_POWER_OFF);
423 else 429 else
430#endif
424 reboot(RB_HALT_SYSTEM); 431 reboot(RB_HALT_SYSTEM);
425#endif 432#endif
426 exit(0); 433 exit(0);