[release-branch.go1.3] runtime: ignore exceptions from foreign threads.

««« CL 104200046 / 14683b1cf2cc
runtime: ignore exceptions from foreign threads.
Fixes #8224.

LGTM=alex.brainman, rsc
R=alex.brainman, rsc, dave
CC=golang-codereviews
https://golang.org/cl/104200046
»»»

LGTM=alex.brainman, minux
R=rsc, alex.brainman, minux
CC=golang-codereviews
https://golang.org/cl/126010043
This commit is contained in:
Andrew Gerrand 2014-08-12 14:07:22 +10:00
parent 3fa4a7849c
commit c6f639cdf6
2 changed files with 10 additions and 0 deletions

View file

@ -88,6 +88,10 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0-0
// fetch g
get_tls(DX)
CMPL DX, $0
JNE 3(PC)
MOVL $0, AX // continue
JMP done
MOVL m(DX), AX
CMPL AX, $0
JNE 2(PC)
@ -100,6 +104,7 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0-0
CALL runtime·sighandler(SB)
// AX is set to report result back to Windows
done:
// restore callee-saved registers
MOVL 24(SP), DI
MOVL 20(SP), SI

View file

@ -120,6 +120,10 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0-0
// fetch g
get_tls(DX)
CMPQ DX, $0
JNE 3(PC)
MOVQ $0, AX // continue
JMP done
MOVQ m(DX), AX
CMPQ AX, $0
JNE 2(PC)
@ -132,6 +136,7 @@ TEXT runtime·sigtramp(SB),NOSPLIT,$0-0
CALL runtime·sighandler(SB)
// AX is set to report result back to Windows
done:
// restore registers as required for windows callback
MOVQ 24(SP), R15
MOVQ 32(SP), R14