X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmisc.cpp;h=8cfba7341fa7fe7256fdaafa440dc3140ae9dbcd;hp=99deedcc6a66f5e8d99086fa2baa2c4ccf59a2a9;hb=482b5b7ecebc85e427c2c839337c7a893ae3e402;hpb=19540c9ee824abc156d5a12ab353c250a083da4b diff --git a/src/misc.cpp b/src/misc.cpp index 99deedcc..8cfba734 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -138,19 +138,11 @@ void timed_wait(WaitCondition& sleepCond, Lock& sleepLock, int msec) { #if defined(_WIN32) || defined(_WIN64) int tm = msec; #else - struct timeval t; - struct timespec abstime, *tm = &abstime; + timespec ts, *tm = &ts; + uint64_t ms = Time::current_time().msec() + msec; - gettimeofday(&t, NULL); - - abstime.tv_sec = t.tv_sec + (msec / 1000); - abstime.tv_nsec = (t.tv_usec + (msec % 1000) * 1000) * 1000; - - if (abstime.tv_nsec > 1000000000LL) - { - abstime.tv_sec += 1; - abstime.tv_nsec -= 1000000000LL; - } + ts.tv_sec = ms / 1000; + ts.tv_nsec = (ms % 1000) * 1000000LL; #endif cond_timedwait(sleepCond, sleepLock, tm);