Old version of the code:
ms = qMax<int>(d->nextTimeout.elapsed() - d->nextTimeoutMsecs, 1);
... will mean the sleep is for as long as the timer has run *minus* the
intended duration, so if nextTimeoutMsecs is ever set and the timer just
started this becomes very negative, and 1ms is the result.
Inverting the subtraction:
ms = qMax<int>(d->nextTimeoutMsecs - d->nextTimeout.elapsed(), 1);
Means sleeping for the remaining time, and so far my CPU seems much
happier, with my KIO-HTTP using apps looking fine.
BUG: 392768