Commit b35ee5db authored by acud's avatar acud Committed by GitHub

flipflop: fix goroutine leak on subscription termination (#1456)

parent ad72a63b
...@@ -48,11 +48,19 @@ func (d *detector) work() { ...@@ -48,11 +48,19 @@ func (d *detector) work() {
worstCase = time.After(d.worstCase) worstCase = time.After(d.worstCase)
} }
case <-waitWrite: case <-waitWrite:
d.out <- struct{}{} select {
case d.out <- struct{}{}:
case <-d.quit:
return
}
worstCase = nil worstCase = nil
waitWrite = nil waitWrite = nil
case <-worstCase: case <-worstCase:
d.out <- struct{}{} select {
case d.out <- struct{}{}:
case <-d.quit:
return
}
worstCase = nil worstCase = nil
waitWrite = nil waitWrite = nil
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment