diff --git a/weed/util/net_timeout.go b/weed/util/net_timeout.go index 8acd50d42..edbb1a3b7 100644 --- a/weed/util/net_timeout.go +++ b/weed/util/net_timeout.go @@ -35,6 +35,7 @@ type Conn struct { net.Conn ReadTimeout time.Duration WriteTimeout time.Duration + isClosed bool } func (c *Conn) Read(b []byte) (count int, e error) { @@ -66,7 +67,10 @@ func (c *Conn) Write(b []byte) (count int, e error) { } func (c *Conn) Close() error { - stats.ConnectionClose() + if !c.isClosed { + stats.ConnectionClose() + c.isClosed = true + } return c.Conn.Close() }