diff --git a/src/corelib/thread/qwaitcondition_unix.cpp b/src/corelib/thread/qwaitcondition_unix.cpp index d841183f09e..123c9ad6389 100644 --- a/src/corelib/thread/qwaitcondition_unix.cpp +++ b/src/corelib/thread/qwaitcondition_unix.cpp @@ -74,7 +74,10 @@ static void qt_abstime_for_timeout(timespec *ts, QDeadlineTimer deadline) using Clock = std::conditional_t; auto timePoint = deadline.deadline(); - *ts = durationToTimespec(timePoint.time_since_epoch()); + if (timePoint < Clock::time_point{}) + *ts = {}; + else + *ts = durationToTimespec(timePoint.time_since_epoch()); } class QWaitConditionPrivate