Subject: Re: bug#43682: 28.0.50; Clean up nnimap server buffers?

From: Eric Abrahamsen <[email-masked]>
Date: Thu, 01 Oct 2020 10:25:00 -0700

On 10/01/20 18:01 PM, Lars Ingebrigtsen wrote:
> Eric Abrahamsen <[email-masked]> writes:
>
>> It's possible (I'm not claiming to understand all the code) that all we
>> would need to do is fix `gnus-async-wait-for-article' to replace its
>> calls to `nntp-find-connection' and `nntp-accept-process-output' with
>> something generalized. Those two functions deal with directly with
>> `nntp-connection-alist', so we'd need something that would do the
>> equivalent with `nnimap-connection-alist'.
>
> Yup.

This is something I wouldn't want to tackle until we have generic
functions.

>> Anyway, in the interest of completing this far less ambitious patch: if
>> the nnimap connection has timed out, we should remove this connection
>> from `nnimap-connection-alist', so this version of the patch does that.
>> If async has opened a second connection, I guess we should leave that
>> alone, though I don't have too much confidence that the whole process
>> will recover gracefully from the main connection dying...
>
> Well, the connections are separate, and there's all kinds of reasons for
> the server to close a connection, so...
>
>> +	    (unless (memq (process-status (get-buffer-process buffer))
>> +			  '(open run))
>
> Aka `process-live-p'.

I forgot we have that!

> Otherwise looks fine to me (but I haven't tested the code).

Okay, I'll run this for a bit, as well.