1 void
xnanosleep(_Bool overflow)2 xnanosleep (_Bool overflow)
3 {
4   struct { int tv_nsec; } ts_sleep;
5   if (0 <= ts_sleep.tv_nsec)
6     overflow |= 1;
7 
8   for (;;)
9     {
10       if (overflow)
11         ts_sleep.tv_nsec = 0;
12       if (foo (ts_sleep))
13         break;
14     }
15 }
16