From 06175932d28bfdf16b8f1cb90a6ea624626c08ca Mon Sep 17 00:00:00 2001 From: Mike Kabischev Date: Fri, 10 Feb 2017 16:55:01 +0300 Subject: [PATCH] Fix leaking http connections (#147) * fix leaking http connections * remove unused fields --- controller/endpoint/http.go | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/controller/endpoint/http.go b/controller/endpoint/http.go index 07cdc677..5364efad 100644 --- a/controller/endpoint/http.go +++ b/controller/endpoint/http.go @@ -19,41 +19,28 @@ const ( type HTTPEndpointConn struct { mu sync.Mutex ep Endpoint - ex bool - t time.Time client *http.Client } func newHTTPEndpointConn(ep Endpoint) *HTTPEndpointConn { return &HTTPEndpointConn{ ep: ep, - t: time.Now(), } } func (conn *HTTPEndpointConn) Expired() bool { - conn.mu.Lock() - defer conn.mu.Unlock() - if !conn.ex { - if time.Now().Sub(conn.t) > httpExpiresAfter { - conn.ex = true - conn.client = nil - } - } - return conn.ex + return false } func (conn *HTTPEndpointConn) Send(msg string) error { conn.mu.Lock() defer conn.mu.Unlock() - if conn.ex { - return errExpired - } - conn.t = time.Now() + if conn.client == nil { conn.client = &http.Client{ Transport: &http.Transport{ MaxIdleConnsPerHost: httpMaxIdleConnections, + IdleConnTimeout: httpExpiresAfter, }, Timeout: httpRequestTimeout, }