Hi, So I've study the patch of bug#49065 a bit. AFAIU, the dick.r.chiang's approach is to introduce Emacs threads in the `gnus-get-unread-articles' function. As `gnus-get-unread-articles' is relatively high in the call stack, it has the advantage of working with all Gnus methods… but I'd like to try a different approach. As eventually Gnus ends up running some processes, I'd like to try to register all the work that Gnus does into those processes' sentinels. As I'm an "nnml/mail-sources" user so I'd like to try here first. For this goal here is my first patch. There is nothing async for the moment: all this patch does is that now each call of `mail-source-fetch' will eventually creates its unique crash box to temporarily stores its mails.