]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/ux/irq0.c
Inital import
[l4.git] / kernel / fiasco / src / kern / ux / irq0.c
1
2 #include <errno.h>
3 #include <signal.h>
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <unistd.h>
7 #include <sys/time.h>
8
9 int main (void) {
10
11   sigset_t blocked;
12   struct itimerval t;
13   int sig;
14
15   sigemptyset (&blocked);
16   sigaddset   (&blocked, SIGALRM);
17   sigprocmask (SIG_BLOCK, &blocked, NULL);
18
19   t.it_interval.tv_sec  = t.it_value.tv_sec  = 0;
20   t.it_interval.tv_usec = t.it_value.tv_usec = 10000;
21   setitimer (ITIMER_REAL, &t, NULL);
22
23   for (;;)
24     {  
25       switch (sigwait (&blocked, &sig))
26         {
27           case 0:
28             if (write (0, "T", 1) != -1)
29               continue;
30
31           case -1:
32             if (errno != EINTR)
33               return 1;
34         }
35     }
36
37   return 0;
38 }