Subject: Re: xsrc/29824
To: None <xsrc-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Matthias Scheler <tron@zhadum.de>
List: netbsd-bugs
Date: 05/01/2005 18:07:01
The following reply was made to PR xsrc/29824; it has been noted by GNATS.

From: Matthias Scheler <tron@zhadum.de>
To: Martin Husemann <martin@duskware.de>
Cc: gnats-bugs@netbsd.org
Subject: Re: xsrc/29824
Date: Sun, 1 May 2005 19:05:59 +0100

 On Sun, May 01, 2005 at 07:23:56PM +0200, Martin Husemann wrote:
 > It is XFree, and building via src/x11 is not possible (yet). But there
 > is no libpthread involved here:
 > 
 > root@nelly # ldd /usr/X11R6/bin/XFree86
 > /usr/X11R6/bin/XFree86:
 >         -lz.0 => /usr/lib/libz.so.0
 >         -lm.0 => /usr/lib/libm.so.0
 >         -lc.12 => /usr/lib/libc.so.12
 
 Why does the X11 server end up in pthread_sigmask() in that case? And
 why does it get stuck there? Is there away to find out whether the
 mutex is hold by another thread?
 
 > I'm not sure there realy are threads in the running server - and they would
 > not change what a signal handler may/must not do anyway.
 
 I don't agree with Jason's conclusion that the XFree86 SIGIO code is
 incorrect. Calling xf86UnblockSIGIO() does *not* mean that the SIGIO
 signal has been unblocked. xf86UnblockSIGIO() will restore the state
 before the matching call to xf86BlockSIGIO(). So in this case it
 is likely that the signal was blocked before xf86SigioReadInput()
 called xf86BlockSIGIO() and after xf86UnblockSIGIO() has been called.
 
 	Kind regards
 
 -- 
 Matthias Scheler                                  http://scheler.de/~matthias/