diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index 2842c2733..bfaa19867 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -81,7 +81,7 @@ _cygtls::fixup_after_fork () pop (); current_sig = 0; } - stacklock = spinning = 0; + stacklock = 0; signal_arrived = NULL; locals.select.sockevt = NULL; locals.cw_timer = NULL; diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 35a4a0b47..4dc4be278 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -920,9 +920,8 @@ _cygtls::interrupt_now (CONTEXT *cx, siginfo_t& si, void *handler, /* Delay the interrupt if we are 1) somehow inside the DLL - 2) in _sigfe (spinning is true) and about to enter cygwin DLL - 3) in a Windows DLL. */ - if (incyg || spinning || inside_kernel (cx)) + 2) in a Windows DLL. */ + if (incyg || inside_kernel (cx)) interrupted = false; else { diff --git a/winsup/cygwin/local_includes/cygtls.h b/winsup/cygwin/local_includes/cygtls.h index efbd557b1..2d490646a 100644 --- a/winsup/cygwin/local_includes/cygtls.h +++ b/winsup/cygwin/local_includes/cygtls.h @@ -196,7 +196,6 @@ public: /* Do NOT remove this public: line, it's a marker for gentls_offsets. */ waitq wq; int current_sig; unsigned incyg; - unsigned spinning; volatile unsigned stacklock; __tlsstack_t *stackptr; __tlsstack_t stack[TLS_STACK_SIZE]; diff --git a/winsup/cygwin/scripts/gendef b/winsup/cygwin/scripts/gendef index 377ceb59b..521550175 100755 --- a/winsup/cygwin/scripts/gendef +++ b/winsup/cygwin/scripts/gendef @@ -134,7 +134,6 @@ _sigfe: # stack is aligned on entry! movq %gs:8,%r10 # location of bottom of stack 1: movl \$1,%r11d xchgl %r11d,_cygtls.stacklock(%r10) # try to acquire lock - movl %r11d,_cygtls.spinning(%r10) # flag if we are waiting for lock testl %r11d,%r11d # it will be zero jz 2f # if so pause @@ -158,7 +157,6 @@ _sigbe: # return here after cygwin syscall movq %gs:8,%r10 # address of bottom of tls 1: movl \$1,%r11d xchgl %r11d,_cygtls.stacklock(%r10) # try to acquire lock - movl %r11d,_cygtls.spinning(%r10) # flag if we are waiting for lock testl %r11d,%r11d # it will be zero jz 2f # if so pause @@ -258,7 +256,6 @@ sigdelayed: 1: movl \$1,%r11d xchgl %r11d,_cygtls.stacklock(%r12) # try to acquire lock - movl %r11d,_cygtls.spinning(%r12) # flag if we are waiting for lock testl %r11d,%r11d # it will be zero jz 2f # if so pause @@ -332,7 +329,6 @@ stabilize_sig_stack: movq %gs:8,%r12 1: movl \$1,%r10d xchgl %r10d,_cygtls.stacklock(%r12) # try to acquire lock - movl %r10d,_cygtls.spinning(%r12) # flag if we are waiting for lock testl %r10d,%r10d jz 2f pause