This source file includes following definitions.
- handle_alarm
- main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <config.h>
20
21 #include <unistd.h>
22
23 #include "signature.h"
24 SIGNATURE_CHECK (sleep, unsigned int, (unsigned int));
25
26 #include <signal.h>
27
28 #include "macros.h"
29
30 #if HAVE_DECL_ALARM
31 static void
32 handle_alarm (int sig)
33 {
34 if (sig != SIGALRM)
35 _exit (1);
36 }
37 #endif
38
39 int
40 main (void)
41 {
42 ASSERT (sleep (1) <= 1);
43
44 ASSERT (sleep (0) == 0);
45
46 #if HAVE_DECL_ALARM
47 {
48 const unsigned int pentecost = 50 * 24 * 60 * 60;
49 unsigned int remaining;
50 signal (SIGALRM, handle_alarm);
51 alarm (1);
52 remaining = sleep (pentecost);
53 ASSERT (pentecost - 10 < remaining && remaining <= pentecost);
54 }
55 #endif
56
57 return 0;
58 }