Subject: Re: bug#50849: 28.0.50; Proposal for Emacs daemon to signal when being busy

From: Robert Pluim <[email-masked]>
Date: Wed, 07 Sep 2022 12:34:35 +0200

>>>>> On Wed, 7 Sep 2022 04:18:17 -0400, Stefan Kangas <[email-masked]> said:

    Stefan> Eli Zaretskii <[email-masked]> writes:
    >> Do I need a recipe?  The source code says:
    >> 
    >> #define DEFAULT_TIMEOUT (30)
    >> [...]
    >> set_socket_timeout (emacs_socket, timeout > 0 ? timeout : DEFAULT_TIMEOUT);
    >> 
    >> That's self-explanatory, isn't it?

    Stefan> You wrote that "if someone uses the client of the master branch, it will
    Stefan> now always terminate due to timeout after 30 sec", but I don't see that
    Stefan> on current master.  So I'm asking if we are not seeing the same
    Stefan> behaviour, and if so, why that is.

    Stefan> When I do this:

    Stefan>     ./lib/emacsclient foo.txt

    Stefan> and wait for more than 30 seconds, emacsclient doesn't exit.

...because the code on master now just retries the recv instead of
exiting. So in normal operation without a timeout argument, the recv
will timeout after 30 seconds, and emacsclient will go back to
recv. Before the timeout changes it would wait in recv forever.

Thatʼs a behaviour change. I guess we could change emacsclient to set
the timeout back to 0 in that case, but Iʼm not sure itʼs worth it.

Robert
--