96,7 → 96,7 |
|
device_drivers_close(); |
sys_shutdown_message("-- S.Ha.R.K. Closed --\n"); |
sys_end(); |
sys_abort_shutdown(0); |
|
return NULL; |
} |
107,7 → 107,6 |
|
nrt_task_default_model(nrt); |
nrt_task_def_system(nrt); |
nrt_task_def_nokill(nrt); |
|
shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL); |
if (shutdown_task_PID == NIL) { |
117,7 → 116,17 |
|
} |
|
#define SHUTDOWN_TIMEOUT_SEC 3 |
|
void call_shutdown_task(void *arg) { |
struct timespec t; |
|
sys_gettime(&t); |
t.tv_sec += SHUTDOWN_TIMEOUT_SEC; |
|
/* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */ |
kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0); |
|
task_activate(shutdown_task_PID); |
} |
|