* cygtls.h (__ljfault): Declare.

(_cygtls::return_from_fault): Use __ljfault.
* exceptions.cc (set_signal_mask): Revert previous checkin.
* gendef (__sjfault): Split out into a separate function which doesn't bother
with any special signal locking.  routines.
(_ljfault): Return from a __sjfault without bothering with signals.
This commit is contained in:
Christopher Faylor
2005-08-28 23:26:23 +00:00
parent 2241d3fb53
commit c461fbf160
4 changed files with 82 additions and 4 deletions

View File

@@ -148,6 +148,8 @@ typedef struct struct_waitq
#include "cygerrno.h"
extern "C" int __sjfault (jmp_buf);
extern "C" int __ljfault (jmp_buf, int);
/*gentls_offsets*/
typedef __uint32_t __stack_t;
@@ -223,7 +225,7 @@ struct _cygtls
{
if (_myfault_errno)
set_errno (_myfault_errno);
longjmp ((int *) _myfault, 1);
__ljfault ((int *) _myfault, 1);
}
int setup_fault (jmp_buf j, int myerrno) __attribute__ ((always_inline))
{