XInitThreads in library constructor breaks Motif!

Po Lu luangruo at yahoo.com
Mon Oct 31 12:18:02 UTC 2022


Carsten Haitzler <raster at rasterman.com> writes:

> using motif and using xlib are different things. you are still free to use xlib
> separately to motif and thus use it from multiple threads... as long as you use
> motif and only motif from a single thread, you agree to the non-threadsafe
> contract.

Which Xlib breaks, by initializing threads.

> the solution to this is... use a recursive lock in xlib or change the
> locking around xcheckifevent and friends to unlock when going into the
> callback (which is the current proposed solution in gitlab). the point of
> locking is to keep xlib working with multiple threads as it would with a single
> one and this would honor that goal :)

XCB afaik doesn't start multiple threads itself, so I don't see the
problem at all.

If there is really a big problem with clients using XCB, then why not
call XInitThreads in XGetXCBConnection instead?


More information about the xorg-devel mailing list