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