diff options
author | Tim Culverhouse <tim@timculverhouse.com> | 2022-09-16 14:41:05 -0500 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-09-20 00:03:36 +0200 |
commit | f4d6ade429850aa30b5f6a8aefc3ef5a00c2e584 (patch) | |
tree | 0d2b97ffe799f9a5afee2b9a94eb0b0a4f2e0724 /worker/imap/observer.go | |
parent | e808b96d63ecab9990cbb295e786010be66243be (diff) | |
download | aerc-f4d6ade429850aa30b5f6a8aefc3ef5a00c2e584.tar.gz |
imap: prevent deadlock from posting actions to self
The IMAP worker has a few methods that post a new Action to itself. This
can create a deadlock when the worker.Actions channel is full: The
worker can't accept a new Action because it's trying to post an action.
This is most noticeable when cached headers are enabled and the message
list is scrolled fast.
Use a goroutine to post actions to the worker when posting from within
the worker.
Fixes: https://todo.sr.ht/~rjarry/aerc/45
Fixes: 7aa71d334b27 ("imap: add option to cache headers")
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'worker/imap/observer.go')
0 files changed, 0 insertions, 0 deletions