[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