Parcourir la source

leasehttp: buffer error channel to prevent goroutine leak

fanmin shi il y a 9 ans
Parent
commit
7b7feb46fc
1 fichiers modifiés avec 2 ajouts et 1 suppressions
  1. 2 1
      lease/leasehttp/http.go

+ 2 - 1
lease/leasehttp/http.go

@@ -206,7 +206,8 @@ func TimeToLiveHTTP(ctx context.Context, id lease.LeaseID, keys bool, url string
 
 	cc := &http.Client{Transport: rt}
 	var b []byte
-	errc := make(chan error)
+	// buffer errc channel so that errc don't block inside the go routinue
+	errc := make(chan error, 2)
 	go func() {
 		resp, err := cc.Do(req)
 		if err != nil {