func getWaiterChannel(waiter gate.Waiter) <-chan struct{} { // If a gate is unlocked, don't select on it. if waiter.IsUnlocked() { return nil } return waiter.Unlocked() }
func assertUnlocked(c *gc.C, waiter gate.Waiter) { c.Assert(waiter.IsUnlocked(), jc.IsTrue) select { case <-waiter.Unlocked(): default: c.Fatalf("expected gate to be unlocked") } }
func assertLocked(c *gc.C, waiter gate.Waiter) { c.Assert(waiter.IsUnlocked(), jc.IsFalse) select { case <-waiter.Unlocked(): c.Fatalf("expected gate to be locked") default: } }