Version:
~ [ 0.6-2.3.46 ] ~
Architecture:
~ [ um ] ~
** Warning: Cannot open xref database.
1 #include "linux/sched.h"
2 #include "user_util.h"
3 #include "kern_util.h"
4 #include "kern.h"
5
6 static int kill_off_processes(void)
7 {
8 struct task_struct *p;
9 int me, main_pid;
10
11 main_pid = kill_aux_pids();
12 me = getpid();
13 for_each_task(p){
14 if(p->thread.extern_pid != me) kill_pid(p->thread.extern_pid);
15 }
16 kill_pid(init_task.thread.extern_pid);
17 return(main_pid);
18 }
19
20 extern struct task_struct *input_task;
21
22 void machine_restart(char * __unused)
23 {
24 input_task = current;
25 current->thread.request.u.input_request.op = INPUT_REBOOT;
26 usr1_pid(kill_off_processes());
27 kill_pid(getpid());
28 }
29
30 void machine_power_off(void)
31 {
32 input_task = current;
33 current->thread.request.u.input_request.op = INPUT_HALT;
34 usr1_pid(kill_off_processes());
35 kill_pid(getpid());
36 }
37
38 void machine_halt(void){
39 KERN_UNTESTED();
40 }
41
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.