1void 2xnanosleep (_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