From fb525da5b693846b8cdd50915b1a7b2490a58c38 Mon Sep 17 00:00:00 2001 From: Brenden Matthews Date: Fri, 14 Dec 2018 17:17:38 -0500 Subject: [PATCH] Fix build on macOS. The prototypes for `cgsleep_ms_r` and `cgsleep_us_r` didn't match the implementation, and have been updated accordingly. --- util.c | 23 +++++++++++++++++------ util.h | 4 ++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/util.c b/util.c index 70f7a82fa7..317119c822 100644 --- a/util.c +++ b/util.c @@ -1495,22 +1495,25 @@ static void nanosleep_abstime(struct timespec *ts_end) * from the beginning of the actual sleep, allowing scheduling delays to be * counted in the sleep. */ #ifdef USE_BITMAIN_SOC -void cgsleep_ms_r(cgtimer_t *ts_start, int ms) +int cgsleep_ms_r(cgtimer_t *ts_start, int ms) { struct timespec ts_end; ms_to_timespec(&ts_end, ms); timeraddspec(&ts_end, ts_start); nanosleep_abstime(&ts_end); + } -void cgsleep_us_r(cgtimer_t *ts_start, int64_t us) +int64_t cgsleep_us_r(cgtimer_t *ts_start, int64_t us) { struct timespec ts_end; us_to_timespec(&ts_end, us); timeraddspec(&ts_end, ts_start); nanosleep_abstime(&ts_end); + + return 0; } #else /* USE_BITMAIN_SOC */ int cgsleep_ms_r(cgtimer_t *ts_start, int ms) @@ -1622,15 +1625,17 @@ static void liSleep(LARGE_INTEGER *li, int timeout) CloseHandle(hTimer); } -void cgsleep_ms_r(cgtimer_t *ts_start, int ms) +int cgsleep_ms_r(cgtimer_t *ts_start, int ms) { LARGE_INTEGER li; li.QuadPart = ts_start->QuadPart + (int64_t)ms * 10000LL; liSleep(&li, ms); + + return 0; } -void cgsleep_us_r(cgtimer_t *ts_start, int64_t us) +int64_t cgsleep_us_r(cgtimer_t *ts_start, int64_t us) { LARGE_INTEGER li; int ms; @@ -1640,6 +1645,8 @@ void cgsleep_us_r(cgtimer_t *ts_start, int64_t us) if (!ms) ms = 1; liSleep(&li, ms); + + return 0; } #else /* WIN32 */ static void cgsleep_spec(struct timespec *ts_diff, const struct timespec *ts_start) @@ -1654,20 +1661,24 @@ static void cgsleep_spec(struct timespec *ts_diff, const struct timespec *ts_sta nanosleep(ts_diff, NULL); } -void cgsleep_ms_r(cgtimer_t *ts_start, int ms) +int cgsleep_ms_r(cgtimer_t *ts_start, int ms) { struct timespec ts_diff; ms_to_timespec(&ts_diff, ms); cgsleep_spec(&ts_diff, ts_start); + + return 0; } -void cgsleep_us_r(cgtimer_t *ts_start, int64_t us) +int64_t cgsleep_us_r(cgtimer_t *ts_start, int64_t us) { struct timespec ts_diff; us_to_timespec(&ts_diff, us); cgsleep_spec(&ts_diff, ts_start); + + return 0; } #endif /* WIN32 */ #endif /* CLOCK_MONOTONIC */ diff --git a/util.h b/util.h index cb7e957cc3..06ab550af1 100644 --- a/util.h +++ b/util.h @@ -141,8 +141,8 @@ void cgsleep_us(int64_t us); void cgtimer_time(cgtimer_t *ts_start); #define cgsleep_prepare_r(ts_start) cgtimer_time(ts_start) #ifdef USE_BITMAIN_SOC -void cgsleep_ms_r(cgtimer_t *ts_start, int ms); -void cgsleep_us_r(cgtimer_t *ts_start, int64_t us); +int cgsleep_ms_r(cgtimer_t *ts_start, int ms); +int64_t cgsleep_us_r(cgtimer_t *ts_start, int64_t us); #else int cgsleep_ms_r(cgtimer_t *ts_start, int ms); int64_t cgsleep_us_r(cgtimer_t *ts_start, int64_t us);