12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include <stddef.h>
- #include <setjmp.h>
- #include <signal.h>
- extern void __longjmp (__jmp_buf __env, int val);
- void __libc_longjmp (sigjmp_buf env, int val)
- {
- #if 0
-
- _longjmp_unwind (env, val);
- #endif
- if (env[0].__mask_was_saved)
-
- (void) sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
- (sigset_t *) NULL);
-
- __longjmp (env[0].__jmpbuf, val ?: 1);
- }
- weak_alias (__libc_longjmp, longjmp)
- weak_alias (__libc_longjmp, _longjmp)
- weak_alias (__libc_longjmp, siglongjmp)
- weak_alias (__libc_longjmp, __libc_siglongjmp)
|