Browse Source

Merge pull request #4283 from heyitsanthony/fix-stopdelay-leak

etcdserver: complete stopWithDelay on server shutdown
Anthony Romano 10 years ago
parent
commit
2a9cccd659
1 changed files with 4 additions and 1 deletions
  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) {
 func (s *EtcdServer) stopWithDelay(d time.Duration, err error) {
-	time.Sleep(d)
+	select {
+	case <-time.After(d):
+	case <-s.done:
+	}
 	select {
 	select {
 	case s.errorc <- err:
 	case s.errorc <- err:
 	default:
 	default: