1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-05 19:09:35 +00:00

Fix a bug in timer loop

Silly logic bug introduced in dda7de17e7

Timer thread, when msec = 0, instead of going
to sleep, calls check_time() in an endless loop.

Spotted and reported by snino64 due to abnormally
high CPU usage.

No functional change.
This commit is contained in:
Marco Costalba 2013-01-14 19:32:30 +01:00
parent d1143794a0
commit 78a9531773

View file

@ -76,9 +76,10 @@ void TimerThread::idle_loop() {
while (!do_exit) while (!do_exit)
{ {
mutex.lock(); mutex.lock();
while (!msec && !do_exit) do sleepCondition.wait_for(mutex, msec ? msec : INT_MAX);
sleepCondition.wait_for(mutex, msec ? msec : INT_MAX); while (!msec && !do_exit); // Don't allow wakeups when msec = 0
mutex.unlock(); mutex.unlock();
check_time(); check_time();
} }
} }