GNU bug report logs - #61350
Eglot over Tramp freezes with large project

Previous Next

Package: emacs;

Reported by: Thomas Koch <thomas <at> koch.ro>

Date: Tue, 7 Feb 2023 18:49:02 UTC

Severity: normal

Full log


Message #179 received at 61350 <at> debbugs.gnu.org (full text, mbox):

From: João Távora <joaotavora <at> gmail.com>
To: Thomas Koch <thomas <at> koch.ro>
Cc: Michael Albinus <michael.albinus <at> gmx.de>, 61350 <at> debbugs.gnu.org
Subject: Re: bug#61350: Eglot over Tramp freezes with large project
Date: Tue, 7 Mar 2023 13:33:48 +0000
On Tue, Mar 7, 2023 at 1:04 PM Thomas Koch <thomas <at> koch.ro> wrote:
>
> Thanks Michael! What is the advantage of this patch over just removing the JUST-THIS-ONE argument?
> In both cases tramp is triggering accept-process-output for processes it does not own.

Yes, I also ask myself that question.  Though here, Tramp
has "shared" ownership of them, sort of, so it's more
conservative when compared to the current mechanics.

Michael, your patch goes in the right direction but AFAIR
a single accept-process-output is not guaranteed to bring
into the process filter all the buffered data.

In "40.9.4 Accepting Output from Processes":

     [In accept-process-output, ] If PROCESS is
     non-‘nil’ then this function does not return until some output has
                                                 [^^^^^^^^^^^^^^^^^]
     been received from PROCESS or PROCESS has closed the connection.


Note "some", not "all".  So while less common, I think the hang
can still happen.

So maybe you meant:

   (while (accept-process-output p 0 nil t))

as suggested in that section?

João




This bug report was last modified 2 years and 49 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.