From 5da1c254d5e083922f0943c79677b8b43faf49be Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Thu, 16 Apr 2015 16:05:52 -0400 Subject: [PATCH] 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 --- src/runtime/proc.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) 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() -- 2.48.1