diff options
author | Roland McGrath <roland@gnu.org> | 1992-04-14 20:58:40 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1992-04-14 20:58:40 +0000 |
commit | bad0dedb00e1fef9885f6fd8ac5d0190f25d9d22 (patch) | |
tree | c6c6fee54a3ee9919caae833d430d515bd5a5f1c /setjmp | |
parent | df1ccc48a8eb4c5cfb12da8144053706f57c142b (diff) |
Formerly setjmp/setjmp.h.~8~
Diffstat (limited to 'setjmp')
-rw-r--r-- | setjmp/setjmp.h | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/setjmp/setjmp.h b/setjmp/setjmp.h index 0b1b125d37..50f0e8336f 100644 --- a/setjmp/setjmp.h +++ b/setjmp/setjmp.h @@ -29,6 +29,29 @@ Cambridge, MA 02139, USA. */ #include <jmp_buf.h> +#ifdef __USE_POSIX +#define __need_sigset_t +#include <signal.h> + +/* Calling environment, plus possibly a saved signal mask. */ +typedef struct + { + __jmp_buf __jmpbuf; /* Calling environment. */ + int __savemask; /* Saved the signal mask? */ + sigset_t __sigmask; /* Saved signal mask. */ + } sigjmp_buf[1]; + +/* Store the calling environment in ENV, also saving the + signal mask if SAVEMASK is nonzero. Return 0. */ +extern int EXFUN(sigsetjmp, (sigjmp_buf __env, int __savemask)); + +/* Jump to the environment saved in ENV, making the + sigsetjmp call there return VAL, or 1 if VAL is 0. + Restore the signal mask if that sigsetjmp call saved it. */ +extern __NORETURN void EXFUN(siglongjmp, (CONST sigjmp_buf __env, int __val)); +#endif /* Use POSIX. */ + + #ifdef __FAVOR_BSD /* BSD defines `setjmp' and `longjmp' to save and restore the set of @@ -68,29 +91,6 @@ extern int EXFUN(__setjmp, (__jmp_buf __env)); #define setjmp(env) __setjmp (env) -#ifdef __USE_POSIX -#define __need_sigset_t -#include <signal.h> - -/* Calling environment, plus possibly a saved signal mask. */ -typedef struct - { - __jmp_buf __jmpbuf; /* Calling environment. */ - int __savemask; /* Saved the signal mask? */ - sigset_t __sigmask; /* Saved signal mask. */ - } sigjmp_buf[1]; - -/* Store the calling environment in ENV, also saving the - signal mask if SAVEMASK is nonzero. Return 0. */ -extern int EXFUN(sigsetjmp, (sigjmp_buf __env, int __savemask)); - -/* Jump to the environment saved in ENV, making the - sigsetjmp call there return VAL, or 1 if VAL is 0. - Restore the signal mask if that sigsetjmp call saved it. */ -extern __NORETURN void EXFUN(siglongjmp, (CONST sigjmp_buf __env, int __val)); -#endif /* Use POSIX. */ - - #ifdef __USE_BSD extern __NORETURN void EXFUN(_longjmp, (CONST jmp_buf __env, int __val)); extern int EXFUN(_setjmp, (jmp_buf __env)); |