]> Cypherpunks repositories - gostls13.git/commit
runtime: block signals in needm before allocating M
authorIan Lance Taylor <iant@golang.org>
Tue, 27 Oct 2020 23:09:40 +0000 (16:09 -0700)
committerIan Lance Taylor <iant@golang.org>
Wed, 28 Oct 2020 01:03:23 +0000 (01:03 +0000)
commit368c40116434532dc0b53b72fa04788ca6742898
treed3a6b5bc4816eb17ed181df850f1671d8629fffb
parent94f3762462a999bfc5491c8d1b892110651e23d6
runtime: block signals in needm before allocating M

Otherwise, if a signal occurs just after we allocated the M,
we can deadlock if the signal handler needs to allocate an M
itself.

Fixes #42207

Change-Id: I76f44547f419e8b1c14cbf49bf602c6e645d8c14
Reviewed-on: https://go-review.googlesource.com/c/go/+/265759
Trust: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/runtime/crash_unix_test.go
src/runtime/os_js.go
src/runtime/os_plan9.go
src/runtime/os_windows.go
src/runtime/proc.go
src/runtime/signal_unix.go
src/runtime/testdata/testprogcgo/needmdeadlock.go [new file with mode: 0644]