diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/supervisor.go b/supervisor.go index 3fd2630..e76c8fd 100644 --- a/supervisor.go +++ b/supervisor.go @@ -307,7 +307,6 @@ func readerToChan(producer ProduceFn, out chan<- *interface{}, closeWhenDone, st // // When stopC closes, this function will exit immediately. func monitorHeartBeat(idleTimeout time.Duration, heartbeat, isMonitorClosed, stopC chan bool, stop func() error, notifyEvent func(string, ...interface{})) { - defer close(isMonitorClosed) t := time.NewTimer(idleTimeout) defer t.Stop() @@ -333,6 +332,7 @@ func monitorHeartBeat(idleTimeout time.Duration, heartbeat, isMonitorClosed, sto } } + close(isMonitorClosed) if err := stop(); err != nil { notifyEvent("StopError", err.Error()) }