aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/util/net_timeout.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/weed/util/net_timeout.go b/weed/util/net_timeout.go
index edbb1a3b7..f057a8f5b 100644
--- a/weed/util/net_timeout.go
+++ b/weed/util/net_timeout.go
@@ -67,11 +67,14 @@ func (c *Conn) Write(b []byte) (count int, e error) {
}
func (c *Conn) Close() error {
- if !c.isClosed {
- stats.ConnectionClose()
- c.isClosed = true
+ err := c.Conn.Close()
+ if err == nil {
+ if !c.isClosed {
+ stats.ConnectionClose()
+ c.isClosed = true
+ }
}
- return c.Conn.Close()
+ return err
}
func NewListener(addr string, timeout time.Duration) (net.Listener, error) {