From 74ebcd28b2d62e0c7c4bd892742a5f751174bdec Mon Sep 17 00:00:00 2001 From: nkbai Date: Mon, 30 Nov 2015 16:15:35 +0800 Subject: [PATCH] =?UTF-8?q?grace=20init=E4=B8=AD=E7=9A=84=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E5=8F=AF=E4=BB=A5=E5=BB=B6=E5=90=8E=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=20=E5=AE=9E=E9=99=85=E4=B8=8A=E5=A6=82=E6=9E=9C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BD=BF=E7=94=A8graceful=E5=90=AF=E5=8A=A8,=E8=BF=99?= =?UTF-8?q?=E4=BA=9Binit=E7=9A=84=E5=B7=A5=E4=BD=9C=E5=AE=8C=E5=85=A8?= =?UTF-8?q?=E6=B2=A1=E7=94=A8=20=E5=BD=93=E7=84=B6=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=B9=9F=E5=BA=94=E8=AF=A5=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E8=BF=99=E6=A0=B7=E7=9A=84=E5=B7=A5=E4=BD=9C,=E6=AF=94?= =?UTF-8?q?=E5=A6=82session=E4=B8=AD=E7=9A=84sess=5Futils.go=E4=B8=AD?= =?UTF-8?q?=E7=9A=84init=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- grace/grace.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/grace/grace.go b/grace/grace.go index b066a639..40eef144 100644 --- a/grace/grace.go +++ b/grace/grace.go @@ -86,23 +86,25 @@ var ( isChild bool socketOrder string + once sync.Once=sync.Once{} ) func init() { + DefaultMaxHeaderBytes = 0 + DefaultTimeout = 60 * time.Second +} +func onceInit(){ regLock = &sync.Mutex{} flag.BoolVar(&isChild, "graceful", false, "listen on open fd (after forking)") flag.StringVar(&socketOrder, "socketorder", "", "previous initialization order - used when more than one listener was started") runningServers = make(map[string]*Server) runningServersOrder = []string{} socketPtrOffsetMap = make(map[string]uint) - - DefaultMaxHeaderBytes = 0 - - DefaultTimeout = 60 * time.Second } // NewServer returns a new graceServer. func NewServer(addr string, handler http.Handler) (srv *Server) { + once.Do(onceInit) regLock.Lock() defer regLock.Unlock() if !flag.Parsed() {