GNU bug report logs -
#72517
31.0.50; [PATCH] Close X connection upon deletion of last emacsclient frame
Previous Next
Reported by: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>
Date: Thu, 8 Aug 2024 00:49:02 UTC
Severity: normal
Tags: patch
Found in version 31.0.50
Done: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Thomas Fitzsimmons <fitzsim <at> fitzsim.org> writes:
> Thank you for taking a look at this.
>
> It is indeed SSH that is refusing to exit.
>
> i.e., after exiting the emacsclient frame, I am returned to the remote
> SSH shell. Pressing control-d in that shell does not return me back to
> my local shell (the shell from which I SSH'd). I have to press
> control-c and then I am returned back to my local shell.
>
> Nothing emacs-related is hanging; the emacs daemon continues running,
> and I can re-SSH and re-run emacsclient. So the control-c to exit the
> SSH session does not seem to destabilize the emacs daemon. (However, I
> suspect the control-c is severing the X display connection which seems
> less safe and potentially more subject to race conditions than Emacs
> itself closing the X connection.)
>
> There are so many use cases for emacsclient that any patch seems risky,
> which is why I filed this bug report with something that works for me.
>
> If there is a comprehensive set of emacsclient connection/disconnection
> tests, and/or any verbosity/debugging options that might help, then I
> can run them by hand on my setup. I did try:
>
> 1. local X11 "emacsclient -c -s test"
> 2. local X11 "emacsclient -nw -s test"
> 3. remote (over ssh -X) "emacsclient -c -s test"
> 4. remote (over ssh -X) "emacsclient -nw -s test"
>
> against "emacs -Q --fg-daemon=test". In each case, with this patch, the
> key sequence C-x 5 0 exits the frame without issue, and (for tests 3 and
> 4) C-d exits the SSH session (returns me to my local shell) without my
> having to press C-c. Without my patch, test 3 does result in SSH
> refusing to exit.
>
> And, even with my patch, for test case 3, using C-x C-c to delete the
> frame still results in SSH refusing to exit. (It would be nice to fix
> this case too, but I always use C-x 5 0, so I wanted to start by trying
> to fix it.)
>
> Thomas
I suggest configuring Emacs with --with-x-toolkit=no (as is recommended
for users who connect to remote display servers to begin with).
This bug report was last modified 280 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.