* exceptions.cc (setup_handler): Avoid suspending a thread if it in a cygwin

function, in an exception, spinning, or locked.
* gendef (_sigfe): Move incyg setting earlier.
(sigreturn): Set incyg flag to avoid interrupting called cygwin functions.
(sigdelayed): Ditto.
(stabilize_sig_stack): Ditto.
* sigproc.cc (proc_subproc): Don't restore process lock early in exec case.
* cygtls.h: Reorganize fields in _cygtls slightly.
* tlsoffsets.h: Regenerate.
This commit is contained in:
Christopher Faylor
2004-03-09 01:24:08 +00:00
parent 0c378b648e
commit 5fb0fe79eb
6 changed files with 49 additions and 28 deletions

View File

@ -111,9 +111,9 @@ struct _cygtls
struct _cygtls *prev, *next;
__stack_t *stackptr;
int sig;
unsigned stacklock;
unsigned spinning;
unsigned incyg;
unsigned spinning;
unsigned stacklock;
__stack_t stack[TLS_STACK_SIZE];
unsigned padding[0];