I am developing a system that include's the debian/squeeze
distribution of xorg-server, version 1.7.7. I have come across a
scenario where mouse movements on one screen and a touch on another
screen will cause the Xorg process to freeze in an infinite loop in
the function mieqProcessInputEvents(). I have traced the problem down
to a small window during which a call to mieqProcessDeviceEvent can be
interrupted by a signal and mess up the miEventQueue.head and tail. It
appears that in some place in this stack a new event is being enqueued
while the screen is changing and device messages get swapped to the
wrong screen and back and forth.
I put a global variable in mieqProcessDeviceEvent to indicate to
mieqEnqueue to ignore data until finished. This has solved the problem
as a test. I am now writing the code to ignore the SIGIO signal during
mieqProcessDeviceEvent and test this approach also.
Does anyone have a similar problem or advice?
Thanks
Donald Kayser
xorg at kayser dot net
_______________________________________________
[email protected]: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: [email protected]