diff --git a/src/dnode/src/dnodeTelemetry.c b/src/dnode/src/dnodeTelemetry.c index 8f9f04202229a4f7d6eb2ea78916435d652dcdf3..356aebd654f27d7e9c51e7bca0e2ba34205ea4eb 100644 --- a/src/dnode/src/dnodeTelemetry.c +++ b/src/dnode/src/dnodeTelemetry.c @@ -235,7 +235,9 @@ static void* telemetryThread(void* param) { } int startAt = taosGetTimestampSec(); - struct timespec timeout = {.tv_sec = timeToWait, .tv_nsec = 0}; + struct timespec timeout = {.tv_sec = 0, .tv_nsec = 0}; + clock_gettime(CLOCK_REALTIME, &timeout); + timeout.tv_sec += timeToWait; if (sem_timedwait(&tsExitSem, &timeout) == 0) { break; } @@ -279,4 +281,4 @@ void dnodeCleanupTelemetry() { pthread_join(tsTelemetryThread, NULL); sem_destroy(&tsExitSem); } -} \ No newline at end of file +}