mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
etcdmain: stop setting GOMAXPROCS explicitly
We always want to use GOMAXPROCS() as the way go parses it. When in go1.4, we want to expose GOMAXPROCS value, so we set GOMAXPROCS explicitly as the way go 1.4 does and print it out. But it becomes a problem when go 1.5 changes the way to set GOMAXPROCS. Fix the problem by stop setting GOMAXPROCS and get its value directly. Due to this change, it sets default GOMAXPROCS to the number of CPUs available when compiling in go 1.5, which matches how go 1.5 works: https://docs.google.com/document/d/1At2Ls5_fhJQ59kDK2DFVhFu3g5mATSXqqV5QrxinasI/edit This is a behavior change in etcd 2.2.
This commit is contained in:
parent
986f354694
commit
2ac9a329ab
@ -24,7 +24,6 @@ import (
|
||||
"path"
|
||||
"reflect"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/github.com/coreos/go-systemd/daemon"
|
||||
@ -96,12 +95,8 @@ func Main() {
|
||||
plog.Infof("Go Version: %s\n", runtime.Version())
|
||||
plog.Infof("Go OS/Arch: %s/%s\n", runtime.GOOS, runtime.GOARCH)
|
||||
|
||||
GoMaxProcs := 1
|
||||
if envMaxProcs, err := strconv.Atoi(os.Getenv("GOMAXPROCS")); err == nil {
|
||||
GoMaxProcs = envMaxProcs
|
||||
}
|
||||
GoMaxProcs := runtime.GOMAXPROCS(0)
|
||||
plog.Infof("setting maximum number of CPUs to %d, total number of available CPUs is %d", GoMaxProcs, runtime.NumCPU())
|
||||
runtime.GOMAXPROCS(GoMaxProcs)
|
||||
|
||||
// TODO: check whether fields are set instead of whether fields have default value
|
||||
if cfg.name != defaultName && cfg.initialCluster == initialClusterFromName(defaultName) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user