Comment 32 for bug 194029

Revision history for this message
Amber-Willow (amber-casema) wrote :

i doubt it.. I've copy pasted his "solution" below, as you can see at the end of his text, its obviously not proper coding. Its just another workaround to give it more priority. I haven't tested it myself yet, but checking for the event ever 0.01 second doesn't seem like a healthy way of making a final fix.

Amber
----from http://sourceforge.net/tracker/index.php?func=detail&aid=1930587&group_id=59275&atid=490467 ----
Date: 2008-04-01 15:50
Sender: neurohacker
Logged In: YES
user_id=19874
Originator: YES

In CEventQueue.cpp, calculating timeLeft generates values on the order of
3 to 6 seconds. When poll() is invoked, it blocks for the full time, then
operations seem to resume normally. This happens frequently enough that
synergy on my box is unusable.

To verify this was the source of the hangs, I hard-coded
CEventQueue::getEvent()'s call to m_buffer->waitForEvent(timeLeft) in
CEventQueue.cpp on line 149 to use a timeout of 0.1, and the client hangs
as often, but for a tenth of a second. To get it into a usable state
locally, I've jacked the value down to 0.01.

This is clearly not the right fix for the code written as it is. If I have
time to investigate it some more I'll send along more information or a
patch.