aboutsummaryrefslogtreecommitdiffstats
path: root/worker/imap/idler.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/imap/idler.go')
-rw-r--r--worker/imap/idler.go29
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()
}()
}