diff --git a/util.c b/util.c index 363c73c4..032a82ca 100644 --- a/util.c +++ b/util.c @@ -1061,9 +1061,13 @@ void cgtimer_time(cgtimer_t *ts_start) static void liSleep(LARGE_INTEGER *li, int timeout) { - HANDLE hTimer = CreateWaitableTimer(NULL, TRUE, NULL); + HANDLE hTimer; DWORD ret; + if (unlikely(timeout <= 0)) + return; + + hTimer = CreateWaitableTimer(NULL, TRUE, NULL); if (unlikely(!hTimer)) quit(1, "Failed to create hTimer in liSleep"); ret = SetWaitableTimer(hTimer, li, 0, NULL, NULL, 0);