diff options
Diffstat (limited to 'worker/imap/idler.go')
-rw-r--r-- | worker/imap/idler.go | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/worker/imap/idler.go b/worker/imap/idler.go index 055bab8b..69fdc4ca 100644 --- a/worker/imap/idler.go +++ b/worker/imap/idler.go @@ -134,23 +134,20 @@ func (i *idler) waitOnIdle() { i.log("wait for idle in background") go func() { defer logging.PanicHandler() - select { - case err := <-i.done: - if err == nil { - i.log("<=(idle) waited") - i.log("connect done->") - i.worker.PostMessage(&types.Done{ - Message: types.RespondTo(&types.Connect{}), - }, nil) - } else { - i.log("<=(idle) waited; with err: %v", err) - } - i.setWaiting(false) - i.stop = make(chan struct{}) - i.log("restart") - i.Start() - return + err := <-i.done + if err == nil { + i.log("<=(idle) waited") + i.log("connect done->") + i.worker.PostMessage(&types.Done{ + Message: types.RespondTo(&types.Connect{}), + }, nil) + } else { + i.log("<=(idle) waited; with err: %v", err) } + i.setWaiting(false) + i.stop = make(chan struct{}) + i.log("restart") + i.Start() }() } |