2 ** Copyright 2004, Travis Geiselbrecht. All rights reserved.
3 ** Distributed under the terms of the NewOS License.
8 #include <sys/syscalls.h>
10 static void alarm_handler(int sig
, void *arg
)
13 sprintf(temp
, "alarm %d %d\n", sig
, arg
);
14 write(0, temp
, strlen(temp
));
17 static void term_handler(int sig
, void *arg
)
20 sprintf(temp
, "TERM %d %d\n", sig
, arg
);
21 write(0, temp
, strlen(temp
));
24 static void chld_handler(int sig
, void *arg
)
27 sprintf(temp
,"SIGCHLD %d\n", sig
);
28 write(0, temp
, strlen(temp
));
31 static void winch_handler(int sig
, void *arg
)
34 sprintf(temp
, "SIGWINCH %d\n", sig
);
35 write(0, temp
, strlen(temp
));
43 sig
.sa_handler
= (sig_func_t
)&alarm_handler
;
46 sig
.sa_userdata
= (void *)1170;
48 err
= _kern_sigaction(SIGALRM
, &sig
, NULL
);
49 printf("sigaction returns %d\n", err
);
51 sig
.sa_handler
= (sig_func_t
)&term_handler
;
54 sig
.sa_userdata
= (void *)1170;
56 err
= _kern_sigaction(SIGTERM
, &sig
, NULL
);
57 printf("sigaction returns %d\n", err
);
59 sig
.sa_handler
= (sig_func_t
)&chld_handler
;
62 sig
.sa_userdata
= (void *)1170;
64 err
= _kern_sigaction(SIGCHLD
, &sig
, NULL
);
65 printf("sigaction returns %d\n", err
);
67 sig
.sa_handler
= (sig_func_t
)&winch_handler
;
70 sig
.sa_userdata
= (void *)1170;
72 err
= _kern_sigaction(SIGWINCH
, &sig
, NULL
);
73 printf("sigaction returns %d\n", err
);
75 _kern_set_alarm(1000000, TIMER_MODE_PERIODIC
);
78 err
= _kern_snooze(10000000);
79 printf("_kern_snooze returns %d\n", err
);
80 _kern_proc_create_proc("/boot/bin/false", "false", NULL
, 0, 5, 0);