Spinning in _XReply
xmail at karlt.net
xmail at karlt.net
Wed Feb 23 15:27:28 PST 2011
Rami Ylimäki writes:
> On 02/22/2011 11:26 PM, xmail at karlt.net wrote:
>> Although wrong, our code has been working well enough for us to get
>> useful information. If someone is able to point out a reason why
>> this now works less successfully than previously, then that would
>> bump up the priority at our end.
>
> By superficially looking at the Xlib code, the behavior in older
> Xlib version (1.3.3) is different depending on whether Xlib is
> configured --with-xcb or --without-xcb. When Xcb is disabled,
> error handler is called with display unlocked and _XReply seems to
> be prepared to handle requests from error handler. With Xcb, which
> is the default now with Xlib 1.4, the display remains locked
> during error handling and nested requests aren't allowed.
Thanks for looking into that.
It looks like the display locks are no-ops unless XInitThreads is
called or when built with --enable-checked-locks.
http://lists.x.org/archives/xorg-devel/2011-February/019533.html
does seem to indicate another potential issue (breaking from the
loop only when "req == current"). I guess that hasn't bitten us
because we don't return to the first _XReply.
More information about the xorg-devel
mailing list