Fix TinyCThread time retrieval

This commit is contained in:
Camilla Berglund 2015-08-14 12:42:21 +02:00
Родитель 20ed0a15a4
Коммит ce2ec035f4
1 изменённых файлов: 4 добавлений и 3 удалений

7
deps/tinycthread.c поставляемый
Просмотреть файл

@ -22,8 +22,9 @@ freely, subject to the following restrictions:
*/ */
/* 2013-01-06 Camilla Berglund <elmindreda@elmindreda.org> /* 2013-01-06 Camilla Berglund <elmindreda@elmindreda.org>
* *
* Added casts from time_t to DWORD to avoid warnings on VC++. * Added casts from time_t to DWORD to avoid warnings on VC++.
* Fixed time retrieval on POSIX systems.
*/ */
#include "tinycthread.h" #include "tinycthread.h"
@ -294,7 +295,7 @@ int cnd_timedwait(cnd_t *cond, mtx_t *mtx, const struct timespec *ts)
{ {
#if defined(_TTHREAD_WIN32_) #if defined(_TTHREAD_WIN32_)
struct timespec now; struct timespec now;
if (clock_gettime(TIME_UTC, &now) == 0) if (clock_gettime(CLOCK_REALTIME, &now) == 0)
{ {
DWORD delta = (DWORD) ((ts->tv_sec - now.tv_sec) * 1000 + DWORD delta = (DWORD) ((ts->tv_sec - now.tv_sec) * 1000 +
(ts->tv_nsec - now.tv_nsec + 500000) / 1000000); (ts->tv_nsec - now.tv_nsec + 500000) / 1000000);
@ -471,7 +472,7 @@ int thrd_sleep(const struct timespec *time_point, struct timespec *remaining)
#endif #endif
/* Get the current time */ /* Get the current time */
if (clock_gettime(TIME_UTC, &now) != 0) if (clock_gettime(CLOCK_REALTIME, &now) != 0)
return -2; // FIXME: Some specific error code? return -2; // FIXME: Some specific error code?
#if defined(_TTHREAD_WIN32_) #if defined(_TTHREAD_WIN32_)