Browse Source

etcd-runner: fix race on nextc

fanmin shi 8 years ago
parent
commit
b44bd6d2a9
1 changed files with 3 additions and 1 deletions
  1. 3 1
      tools/functional-tester/etcd-runner/command/election_command.go

+ 3 - 1
tools/functional-tester/etcd-runner/command/election_command.go

@@ -129,8 +129,10 @@ func runElectionFunc(cmd *cobra.Command, args []string) {
 				return err
 				return err
 			}
 			}
 			if observedLeader == v {
 			if observedLeader == v {
-				close(nextc)
+				oldNextc := nextc
 				nextc = make(chan struct{})
 				nextc = make(chan struct{})
+				close(oldNextc)
+
 			}
 			}
 			<-rcNextc
 			<-rcNextc
 			observedLeader = ""
 			observedLeader = ""