瀏覽代碼

Merge pull request #3927 from nordligulv/patch-1

client: fix goroutine leak in unreleased context
Xiang Li 10 年之前
父節點
當前提交
e8eb3d7744
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      client/client.go

+ 4 - 1
client/client.go

@@ -378,9 +378,12 @@ func (c *simpleHTTPClient) Do(ctx context.Context, act httpAction) (*http.Respon
 		return nil, nil, err
 	}
 
-	hctx, hcancel := context.WithCancel(ctx)
+	var hctx context.Context
+	var hcancel context.CancelFunc
 	if c.headerTimeout > 0 {
 		hctx, hcancel = context.WithTimeout(ctx, c.headerTimeout)
+	} else {
+		hctx, hcancel = context.WithCancel(ctx)
 	}
 	defer hcancel()