diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/timeout.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/timeout.c b/src/timeout.c index 152af29..7d55031 100644 --- a/src/timeout.c +++ b/src/timeout.c | |||
@@ -199,7 +199,10 @@ int tm_lua_sleep(lua_State *L) | |||
199 | n -= t.tv_sec; | 199 | n -= t.tv_sec; |
200 | t.tv_nsec = (int) (n * 1000000000); | 200 | t.tv_nsec = (int) (n * 1000000000); |
201 | if (t.tv_nsec >= 1000000000) t.tv_nsec = 999999999; | 201 | if (t.tv_nsec >= 1000000000) t.tv_nsec = 999999999; |
202 | nanosleep(&t, &r); | 202 | while (nanosleep(&t, &r) != 0) { |
203 | t.tv_sec = r.tv_sec; | ||
204 | t.tv_nsec = r.tv_nsec; | ||
205 | } | ||
203 | #endif | 206 | #endif |
204 | return 0; | 207 | return 0; |
205 | } | 208 | } |