]> Cypherpunks repositories - gostls13.git/commit
runtime: initialize extra M for cgo during mstart
authorDavid Crawshaw <crawshaw@golang.org>
Tue, 24 Mar 2015 13:22:35 +0000 (09:22 -0400)
committerDavid Crawshaw <crawshaw@golang.org>
Tue, 24 Mar 2015 19:39:46 +0000 (19:39 +0000)
commitb8caed823b39b5a86b694f9ec60a8b43323248e8
treeb70be88161fee5b49754545ae8848ba061a086a6
parent63f59b6322c78e4b1dd256d8a5fe7e9c468183a4
runtime: initialize extra M for cgo during mstart

Previously the extra m needed for cgo callbacks was created on the
first callback. This works for cgo, however the cgocallback mechanism
is also borrowed by badsignal which can run before any cgo calls are
made.

Now we initialize the extra M at runtime startup before any signal
handlers are registered, so badsignal cannot be called until the
extra M is ready.

Updates #10207.

Change-Id: Iddda2c80db6dc52d8b60e2b269670fbaa704c7b3
Reviewed-on: https://go-review.googlesource.com/7978
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
src/runtime/cgocall.go
src/runtime/proc1.go
src/runtime/sigqueue.go