From: David Crawshaw Date: Thu, 16 Apr 2015 20:05:52 +0000 (-0400) Subject: runtime: do not run main when buildmode=c-shared X-Git-Tag: go1.5beta1~1052 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5da1c254d5e083922f0943c79677b8b43faf49be;p=gostls13.git runtime: do not run main when buildmode=c-shared Change-Id: Ie7f85873978adf3fd5c739176f501ca219592824 Reviewed-on: https://go-review.googlesource.com/9011 Reviewed-by: Hyang-Ah Hana Kim Reviewed-by: Ian Lance Taylor --- diff --git a/src/runtime/proc.go b/src/runtime/proc.go index 50f9dd7f52..88b2004c83 100644 --- a/src/runtime/proc.go +++ b/src/runtime/proc.go @@ -72,10 +72,6 @@ func main() { gcenable() - if islibrary { - // Allocate new M as main_main() is expected to block forever. - systemstack(newextram) - } main_init_done = make(chan bool) if iscgo { if _cgo_thread_start == nil { @@ -107,9 +103,9 @@ func main() { needUnlock = false unlockOSThread() - if isarchive { - // A program compiled with -buildmode=c-archive has a main, - // but it is not executed. + if isarchive || islibrary { + // A program compiled with -buildmode=c-archive or c-shared + // has a main, but it is not executed. return } main_main()