commit e85ef71935c145307b67cf6af2477d1c2d041075
parent a81467dda9d577be706a1875451a3b031840639d
Author: Drew DeVault <sir@cmpwn.com>
Date: Sun, 2 Jun 2019 13:26:43 -0400
Don't send Done until finished fetching messages
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/worker/imap/fetch.go b/worker/imap/fetch.go
@@ -47,6 +47,7 @@ func (imapw *IMAPWorker) handleFetchMessages(
section *imap.BodySectionName) {
messages := make(chan *imap.Message)
+ done := make(chan interface{})
go func() {
for _msg := range messages {
@@ -77,6 +78,7 @@ func (imapw *IMAPWorker) handleFetchMessages(
}, nil)
}
}
+ done <- nil
}()
if err := imapw.client.UidFetch(uids, items, messages); err != nil {
@@ -85,6 +87,7 @@ func (imapw *IMAPWorker) handleFetchMessages(
Error: err,
}, nil)
} else {
+ <-done
imapw.worker.PostMessage(
&types.Done{types.RespondTo(msg)}, nil)
}