|
|
@@ -1405,7 +1405,7 @@ int sys_wdog_feed(void)
|
|
|
int sys_wdog_en(int flag)
|
|
|
{
|
|
|
if(wdog_is_en()) {
|
|
|
- write(wdog_fd, flag:"1":"0", 1);
|
|
|
+ write(wdog_fd, flag?"1":"0", 1);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
@@ -1414,20 +1414,28 @@ int sys_wdog_en(int flag)
|
|
|
static void sig_handler(int signo)
|
|
|
{
|
|
|
printf("sigint_handler, signo: %d\n", signo);
|
|
|
- wdog_enable(0);
|
|
|
+ sys_wdog_en(0);
|
|
|
}
|
|
|
+
|
|
|
+static void normal_exit()
|
|
|
+{
|
|
|
+ sys_wdog_en(0);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
static void sig_init(void)
|
|
|
{
|
|
|
- signal(SIGINT, sig_handler);
|
|
|
- signal(SIGTERM, sig_handler);
|
|
|
- signal(SIGKILL, sig_handler);
|
|
|
- signal(SIGABRT, sig_handler);
|
|
|
- signal(SIGFPE, sig_handler);
|
|
|
- signal(SIGSEGV, sig_handler);
|
|
|
- signal(SIGILL, sig_handler);
|
|
|
- signal(SIGQUIT, sig_handler);
|
|
|
- signal(SIGHUP, sig_handler);
|
|
|
- signal(SIGBUS, sig_handler);
|
|
|
+ // atexit(normal_exit);
|
|
|
+ // signal(SIGINT, sig_handler);
|
|
|
+ // signal(SIGTERM, sig_handler);
|
|
|
+ // signal(SIGKILL, sig_handler);
|
|
|
+ // signal(SIGABRT, sig_handler);
|
|
|
+ // signal(SIGFPE, sig_handler);
|
|
|
+ // signal(SIGSEGV, sig_handler);
|
|
|
+ // signal(SIGILL, sig_handler);
|
|
|
+ // signal(SIGQUIT, sig_handler);
|
|
|
+ // signal(SIGHUP, sig_handler);
|
|
|
+ // signal(SIGBUS, sig_handler);
|
|
|
}
|
|
|
|
|
|
static void* polling_thread(void *arg)
|