//----------------------------------------------------------------------------- // platform-independant sleep macros //----------------------------------------------------------------------------- #ifndef SLEEP_H__ #define SLEEP_H__ #ifdef _WIN32 #include #define msleep(n) Sleep(n) #else #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