diff options
| author | Cherry Zhang <cherryyz@google.com> | 2019-11-25 23:29:02 -0500 |
|---|---|---|
| committer | Cherry Zhang <cherryyz@google.com> | 2019-11-26 16:55:36 +0000 |
| commit | 67f0f83216930e053441500e2b28c3fa2b667581 (patch) | |
| tree | 12ce05f277c9e0428ed13627a2de511f73912ee9 /src/runtime/stack.go | |
| parent | 20bf6a495eabad79b7b275d46fc3e11c620b8212 (diff) | |
| download | go-67f0f83216930e053441500e2b28c3fa2b667581.tar.xz | |
runtime: disable async preemption on darwin/arm(64) if no cgo
On darwin, we use libc calls, and cgo is required on ARM and
ARM64 so we have TLS set up to save/restore G during C calls. If
cgo is absent, we cannot save/restore G in TLS, and if a signal
is received during C execution we cannot get the G. Therefore
don't send signals (and hope that we won't receive any signal
during C execution).
This can only happen in the go_bootstrap program (otherwise cgo
is required).
Fixes #35800.
Change-Id: I6c02a9378af02c19d32749a42db45165b578188d
Reviewed-on: https://go-review.googlesource.com/c/go/+/208818
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/stack.go')
0 files changed, 0 insertions, 0 deletions
