[patch xdm 3/4] Remove support for UNRELIABLE_SIGNALS

Alan Coopersmith alan.coopersmith at oracle.com
Thu Dec 3 22:49:01 PST 2015


On 12/ 2/15 07:41 AM, Adam Jackson wrote:
> On Wed, 2015-12-02 at 12:22 +0100, Matthieu Herrb wrote:
>> Nothing has been setting this since the modularization.x
>
> Not sure this is correct.  Even with the first two patches from this
> series applied, we have:
>
> dmt:~/git/app/xdm% grep -C3 UNRELIABLE include/dm.h
> # if defined(X_NOT_POSIX) || defined(__NetBSD__) && defined(__sparc__)
> #  if defined(SYSV)
> #   define SIGNALS_RESET_WHEN_CAUGHT
> #   define UNRELIABLE_SIGNALS
> #  endif
> #  define Setjmp(e)	setjmp(e)
> #  define Longjmp(e,v)	longjmp(e,v)
>
> The imake cf files only define X_NOT_POSIX for Apollo and LynxOS
> though, and that NetBSD && sparc clause seems to date from xfree86 in
> 1994, so I think you can be a bit more aggressive here.

Right - on SysV, including SVR4 and even latest Solaris, if you call
signal() to set up handlers you have the problems that the #ifdef
UNRELIABLE_SIGNALS protects against - if you use sigaction() then
you don't.  (Effectively SysV signal() is sigaction() with SA_RESETHAND
set in the flags.)  We should use POSIX signal handling instead now.

-- 
	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc


More information about the xorg-devel mailing list