[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#12446: port better to POSIX hosts lacking _setjmp
From: |
Eli Zaretskii |
Subject: |
bug#12446: port better to POSIX hosts lacking _setjmp |
Date: |
Sat, 15 Sep 2012 11:28:19 +0300 |
> Date: Sat, 15 Sep 2012 00:50:17 -0700
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: 12446@debbugs.gnu.org, lekktu@gmail.com
>
> On 09/15/2012 12:12 AM, Eli Zaretskii wrote:
> > On which platforms does longjmp change the signal
> > mask and how, and in what ways can this "mess things up and slow
> > things down"?
>
> For example, under FreeBSD, setjmp saves the signal mask,
> and longjmp restores the signal mask to the value that it had
> when setjmp was called. See
> <http://www.freebsd.org/cgi/man.cgi?query=setjmp&manpath=FreeBSD+9.0-RELEASE>.
> FreeBSD is not alone in this -- it's sort of a BSD tradition --
> but I don't have a list handy of exactly which OSes do it and
> which do not.
So what was the rationale of turning away from _setjmp, which does the
same as sigsetjmp with its second argument zero?
> Messups are trickier, because they involve rare race conditions.
> They can occur if Emacs or a system call has set the signal mask to X,
> but a longjump unexpectedly changes it to Y, where Y is not equal to X.
Why is that a messup?
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/14
- bug#12446: port better to POSIX hosts lacking _setjmp, Eli Zaretskii, 2012/09/14
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/14
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Eli Zaretskii, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Eli Zaretskii, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Eli Zaretskii, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp,
Eli Zaretskii <=
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Eli Zaretskii, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Eli Zaretskii, 2012/09/15
- bug#12446: port better to POSIX hosts lacking _setjmp, Paul Eggert, 2012/09/15