aerc/worker
Tim Culverhouse f4d6ade429 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: 7aa71d334b ("imap: add option to cache headers")
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2022-09-20 00:03:36 +02:00
..
handlers go.mod: change base git url 2021-11-05 10:21:45 +01:00
imap imap: prevent deadlock from posting actions to self 2022-09-20 00:03:36 +02:00
lib parse: remove trailing whitespace from rfc1123z regex 2022-08-22 15:46:56 +02:00
maildir maildir: do not send dircontents on fs event 2022-08-30 21:42:37 +02:00
mbox mbox: implement MoveMessages handling 2022-08-22 15:46:52 +02:00
notmuch notmuch: fix regression in error handling 2022-09-01 10:05:35 +02:00
types imap: prevent deadlock from posting actions to self 2022-09-20 00:03:36 +02:00
handler_notmuch.go format: reformat code with go 1.17 2021-12-11 23:24:08 +01:00
worker.go logging: use level-based logger functions 2022-07-23 22:52:15 +02:00
worker_enabled.go mbox: implement an mbox backend worker 2022-07-14 23:14:45 +02:00