Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/gnulib/lib/nanosleep.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | - | |||||||||||||
9 | enum { BILLION = 1000 * 1000 * 1000 }; | - | ||||||||||||
10 | - | |||||||||||||
11 | - | |||||||||||||
12 | - | |||||||||||||
13 | int | - | ||||||||||||
14 | - | |||||||||||||
15 | rpl_nanosleep | - | ||||||||||||
16 | (const struct timespec *requested_delay, | - | ||||||||||||
17 | struct timespec *remaining_delay) | - | ||||||||||||
18 | - | |||||||||||||
19 | { | - | ||||||||||||
20 | - | |||||||||||||
21 | - | |||||||||||||
22 | - | |||||||||||||
23 | - | |||||||||||||
24 | - | |||||||||||||
25 | - | |||||||||||||
26 | if (requested_delay->tv_nsec < 0
| 0-459 | ||||||||||||
27 | { | - | ||||||||||||
28 | - | |||||||||||||
29 | (*__errno_location ()) | - | ||||||||||||
30 | = | - | ||||||||||||
31 | 22 | - | ||||||||||||
32 | ; | - | ||||||||||||
33 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
34 | } | - | ||||||||||||
35 | - | |||||||||||||
36 | { | - | ||||||||||||
37 | - | |||||||||||||
38 | _Static_assert (((time_t) (! (! ((time_t) 0 < (time_t) -1)) ? (time_t) -1 : ((((time_t) 1 << ((sizeof (time_t) * 8) - 2)) - 1) * 2 + 1))) / 24 / 24 / 60 / 60, "verify (" "TYPE_MAXIMUM (time_t) / 24 / 24 / 60 / 60" ")"); | - | ||||||||||||
39 | const time_t limit = 24 * 24 * 60 * 60; | - | ||||||||||||
40 | time_t seconds = requested_delay->tv_sec; | - | ||||||||||||
41 | struct timespec intermediate; | - | ||||||||||||
42 | intermediate.tv_nsec = requested_delay->tv_nsec; | - | ||||||||||||
43 | - | |||||||||||||
44 | while (limit < seconds
| 2-457 | ||||||||||||
45 | { | - | ||||||||||||
46 | int result; | - | ||||||||||||
47 | intermediate.tv_sec = limit; | - | ||||||||||||
48 | result = nanosleep (&intermediate, remaining_delay); | - | ||||||||||||
49 | seconds -= limit; | - | ||||||||||||
50 | if (result
| 0 | ||||||||||||
51 | { | - | ||||||||||||
52 | if (remaining_delay
| 0 | ||||||||||||
53 | remaining_delay->tv_sec += seconds; never executed: remaining_delay->tv_sec += seconds; | 0 | ||||||||||||
54 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||
55 | } | - | ||||||||||||
56 | intermediate.tv_nsec = 0; | - | ||||||||||||
57 | } never executed: end of block | 0 | ||||||||||||
58 | intermediate.tv_sec = seconds; | - | ||||||||||||
59 | return executed 457 times by 2 tests: nanosleep (&intermediate, remaining_delay);return nanosleep (&intermediate, remaining_delay); Executed by:
executed 457 times by 2 tests: return nanosleep (&intermediate, remaining_delay); Executed by:
| 457 | ||||||||||||
60 | } | - | ||||||||||||
61 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |