aboutsummaryrefslogtreecommitdiff
path: root/go/weed/master.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/weed/master.go')
-rw-r--r--go/weed/master.go17
1 files changed, 9 insertions, 8 deletions
diff --git a/go/weed/master.go b/go/weed/master.go
index f0b82d414..2d003185f 100644
--- a/go/weed/master.go
+++ b/go/weed/master.go
@@ -35,7 +35,7 @@ var (
mpulse = cmdMaster.Flag.Int("pulseSeconds", 5, "number of seconds between heartbeats")
confFile = cmdMaster.Flag.String("conf", "/etc/weedfs/weedfs.conf", "xml configuration file")
defaultReplicaPlacement = cmdMaster.Flag.String("defaultReplication", "000", "Default replication type if not specified.")
- mReadTimeout = cmdMaster.Flag.Int("readTimeout", 30, "connection read timeout in seconds")
+ mTimeout = cmdMaster.Flag.Int("idleTimeout", 10, "connection idle seconds")
mMaxCpu = cmdMaster.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs")
garbageThreshold = cmdMaster.Flag.String("garbageThreshold", "0.3", "threshold to vacuum and reclaim spaces")
masterWhiteListOption = cmdMaster.Flag.String("whiteList", "", "comma separated Ip addresses having write permission. No limit if empty.")
@@ -62,10 +62,12 @@ func runMaster(cmd *Command, args []string) bool {
glog.V(0).Infoln("Start Weed Master", VERSION, "at port", *masterIp+":"+strconv.Itoa(*mport))
- srv := &http.Server{
- Addr: *masterIp + ":" + strconv.Itoa(*mport),
- Handler: r,
- ReadTimeout: time.Duration(*mReadTimeout) * time.Second,
+ listener, e := util.NewListener(
+ *masterIp+":"+strconv.Itoa(*mport),
+ time.Duration(*mTimeout)*time.Second,
+ )
+ if e != nil {
+ glog.Fatalf(e.Error())
}
go func() {
@@ -78,9 +80,8 @@ func runMaster(cmd *Command, args []string) bool {
ms.SetRaftServer(raftServer)
}()
- e := srv.ListenAndServe()
- if e != nil {
- glog.Fatalf("Fail to start:%s", e)
+ if e := http.Serve(listener, r); e != nil {
+ glog.Fatalf("Fail to serve:%s", e.Error())
}
return true
}