From: David du Colombier <0intro@gmail.com> Date: Wed, 11 Oct 2017 23:39:46 +0000 (+0200) Subject: runtime: fix crash on Plan 9 X-Git-Tag: go1.10beta1~753 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=926373ea79cb590352c9acae96288935ec2c8f47;p=gostls13.git runtime: fix crash on Plan 9 Since CL 46037, the runtime is crashing after calling exitThread on Plan 9. The exitThread function shouldn't be called on Plan 9, because the system manages thread stacks. Fixes #22221. Change-Id: I5d61c9660a87dc27e4cfcb3ca3ddcb4b752f2397 Reviewed-on: https://go-review.googlesource.com/70190 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot Reviewed-by: Austin Clements --- diff --git a/src/runtime/proc.go b/src/runtime/proc.go index d096df547e..b41f0c5ef8 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -1170,10 +1170,10 @@ func mstart() { mstart1(0) // Exit this thread. - if GOOS == "windows" || GOOS == "solaris" { - // Windows and Solaris always system-allocate the - // stack, but put it in _g_.stack before mstart, so - // the logic above hasn't set osStack yet. + if GOOS == "windows" || GOOS == "solaris" || GOOS == "plan9" { + // Window, Solaris and Plan 9 always system-allocate + // the stack, but put it in _g_.stack before mstart, + // so the logic above hasn't set osStack yet. osStack = true } mexit(osStack)