瀏覽代碼

etcdserver: complete stopWithDelay on server shutdown

Was causing goroutine leaks on my machine.
Anthony Romano 10 年之前
父節點
當前提交
12f6b8e72d
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      etcdserver/server.go

+ 4 - 1
etcdserver/server.go

@@ -704,7 +704,10 @@ func (s *EtcdServer) Stop() {
 }
 
 func (s *EtcdServer) stopWithDelay(d time.Duration, err error) {
-	time.Sleep(d)
+	select {
+	case <-time.After(d):
+	case <-s.done:
+	}
 	select {
 	case s.errorc <- err:
 	default: