浏览代码

Make the chan for utils.Go buffered in order to avoid goroutine leak

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com> (github: creack)
Guillaume J. Charmes 11 年之前
父节点
当前提交
d3a6ee1e55
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      utils/utils.go

+ 1 - 1
utils/utils.go

@@ -33,7 +33,7 @@ type Fataler interface {
 // Go is a basic promise implementation: it wraps calls a function in a goroutine,
 // Go is a basic promise implementation: it wraps calls a function in a goroutine,
 // and returns a channel which will later return the function's return value.
 // and returns a channel which will later return the function's return value.
 func Go(f func() error) chan error {
 func Go(f func() error) chan error {
-	ch := make(chan error)
+	ch := make(chan error, 1)
 	go func() {
 	go func() {
 		ch <- f()
 		ch <- f()
 	}()
 	}()