|
|
@@ -1,7 +1,5 @@
|
|
|
package signal
|
|
|
|
|
|
-import "io"
|
|
|
-
|
|
|
// Notifier is a utility for notifying changes. The change producer may notify changes multiple time, and the consumer may get notified asynchronously.
|
|
|
type Notifier struct {
|
|
|
c chan struct{}
|
|
|
@@ -26,18 +24,3 @@ func (n *Notifier) Signal() {
|
|
|
func (n *Notifier) Wait() <-chan struct{} {
|
|
|
return n.c
|
|
|
}
|
|
|
-
|
|
|
-type nCloser struct {
|
|
|
- n *Notifier
|
|
|
-}
|
|
|
-
|
|
|
-func (c *nCloser) Close() error {
|
|
|
- c.n.Signal()
|
|
|
- return nil
|
|
|
-}
|
|
|
-
|
|
|
-func NotifyClose(n *Notifier) io.Closer {
|
|
|
- return &nCloser{
|
|
|
- n: n,
|
|
|
- }
|
|
|
-}
|