Hi again,

So libX11 1.8.1 introduced a constructor to call XInitThreads(3)
unconditionnaly at library load time, to make sure all multithreaded X
applications would have correct locks around Xlib calls.

Of course this behaviour change also exposes some bugs in existing
code. A first one was found and fixed in xfsettingsd, the XFCE
settings daemon. There is a 2nd one in x11/fvwm2 and x11/fvwm3 which
is more complex to fix. I've sent patches to ports@ but I'm not
confident that they are  correct.

So I propose that for OpenBSD 7.2 this change gets reverted in
libX11. This is done with the patch below.

Apply in /usr/xenocara/lib/libX11 and rebuild xenocara, following
instructions in release(8).

Ok, comments ?

Index: Makefile.bsd-wrapper
===================================================================
RCS file: /cvs/OpenBSD/xenocara/lib/libX11/Makefile.bsd-wrapper,v
retrieving revision 1.28
diff -u -p -u -r1.28 Makefile.bsd-wrapper
--- Makefile.bsd-wrapper        25 Apr 2022 19:26:17 -0000      1.28
+++ Makefile.bsd-wrapper        26 Aug 2022 05:31:15 -0000
@@ -14,6 +14,7 @@ SHARED_LIBS=  X11 18.0 X11_xcb 2.0
 
 CONFIGURE_ARGS= --enable-tcp-transport --enable-unix-transport --enable-ipv6 \
        --disable-composecache \
+       --disable-thread-safety-constructor \
        --without-xmlto --without-fop --without-xsltproc
 
 .include <bsd.xorg.mk>

-- 
Matthieu Herrb

Reply via email to