diff --git a/client/deprecated-hid-flasher/flasher/sleep.h b/client/deprecated-hid-flasher/flasher/sleep.h index 62d9f4d16..f3aac0c8f 100644 --- a/client/deprecated-hid-flasher/flasher/sleep.h +++ b/client/deprecated-hid-flasher/flasher/sleep.h @@ -1,10 +1,4 @@ //----------------------------------------------------------------------------- -// Copyright (C) 2010 iZsh -// -// This code is licensed to you under the terms of the GNU GPL, version 2 or, -// at your option, any later version. See the LICENSE.txt file for the text of -// the license. -//----------------------------------------------------------------------------- // platform-independant sleep macros //----------------------------------------------------------------------------- @@ -12,13 +6,18 @@ #define SLEEP_H__ #ifdef _WIN32 -#include -#define sleep(n) Sleep(1000 * n) -#define msleep(n) Sleep(n) + #include + #define msleep(n) Sleep(n) #else -#include -#define msleep(n) usleep(1000 * n) + #include + #include + static void nsleep(uint64_t n) { + struct timespec timeout; + timeout.tv_sec = n / 1000000000; + timeout.tv_nsec = n % 1000000000; + while (nanosleep(&timeout, &timeout) && errno == EINTR); + } + #define msleep(n) nsleep(1000000 * (uint64_t)n) #endif #endif -