FreeBSD Bugzilla – Bug 127791
Fix intermittent delays caused in sysutils/synergy
Last modified: 2008-10-14 02:50:01 UTC
There is a bug in synergy that causes delays under the current X windows version when using synergyc.
Below is a description of the report submitted to sourceforge. However since the synergy project hasn't been updated in close to 2 years I figured a local fix was also in order.
There is poor assumption in the synergy XWindowsEventQueue class. The assumption is
that all events will cause a change on the Xwindows file descriptor. This
is not true. Some events are queued in the Xlib buffers. This is extremely
noticable with the new xcb version of Xorg.
It causes synergy to hang or delay for a period of time (timeout value in
waitForEvent) as there is no event on the fd to wake up the thread. This
delay is VERY annoying.
The fix is to check for events not only from the server itself but also in
the xlib event queue. We don't need to lock this test as it's a non
blocking io call.
We change the XPending call in isEmpty to QueueLength to avoid the XFlush
call that XPending may cause.
This fix eliminates the delay at the cost of a little more cpu time - still
< 1% on my box.
Fix: The attached patch is a bump to port revision and also contains the required patch to fix the problem. Should just be able to apply.
Please note I don't have a ports commit bit so can't commit this.
Patch attached with submission follows:
How-To-Repeat: Use synergyc on FBSD to connect to a synergy server.
Over to maintainer.
kevlo 2008-10-14 01:48:29 UTC
FreeBSD ports repository
- Fix intermittent delays
- Bump PORTREVISION
Submitted by: benjsc@
Revision Changes Path
1.18 +1 -1 ports/sysutils/synergy/Makefile
1.1 +58 -0 ports/sysutils/synergy/files/patch-lib__platform__CXWindowsEventQueueBuffer.cpp (new)
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to "email@example.com"