diff options
author | Austin Clements <austin@google.com> | 2015-11-17 17:20:38 -0500 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2015-11-24 19:36:55 +0000 |
commit | e126f30a662ea6bd622d69c9fd85499b612fb6b3 (patch) | |
tree | bed46f2b1b9e60e3ee07619f33eaea485ebdeac5 /src/runtime/signal_arm64.go | |
parent | b790ad5ac0c9f2cc20ded07162e539702b1b029f (diff) | |
download | go-e126f30a662ea6bd622d69c9fd85499b612fb6b3.tar.gz go-e126f30a662ea6bd622d69c9fd85499b612fb6b3.zip |
runtime: recursively disallow write barriers in sighandler
sighandler may run during STW, so write barriers are not allowed.
Change-Id: Icdf46be10ea296fd87e73ab56ebb718c5d3c97ac
Reviewed-on: https://go-review.googlesource.com/17007
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/signal_arm64.go')
-rw-r--r-- | src/runtime/signal_arm64.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/runtime/signal_arm64.go b/src/runtime/signal_arm64.go index 96a4cb3dac..2966ec0b20 100644 --- a/src/runtime/signal_arm64.go +++ b/src/runtime/signal_arm64.go @@ -51,7 +51,8 @@ func dumpregs(c *sigctxt) { var crashing int32 // May run during STW, so write barriers are not allowed. -//go:nowritebarrier +// +//go:nowritebarrierrec func sighandler(sig uint32, info *siginfo, ctxt unsafe.Pointer, gp *g) { _g_ := getg() c := &sigctxt{info, ctxt} |