From: John Shahid <jvshahid@gmail.com>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 35506@debbugs.gnu.org
Subject: bug#35506: 27.0.50; Emacs hangs while interrupting tramp processes
Date: Tue, 14 May 2019 14:59:08 -0400 [thread overview]
Message-ID: <87sgtgrhfn.fsf@gmail.com> (raw)
In-Reply-To: <87lfz8j3ug.fsf@gmx.de>
[-- Attachment #1: Type: text/plain, Size: 615 bytes --]
Michael Albinus <michael.albinus@gmx.de> writes:
> John Shahid <jvshahid@gmail.com> writes:
>
> Hi John,
>
>>> I will test it out tomorrow morning. I still prefer not waiting at all.
>>> I am not sure if the 1 second wait will be noticeable or not, but we
>>> wouldn't know until I try it out.
>>
>> I just tried that patch and it fixed the issue. The 1 second timeout
>> isn't noticeable at all. I'm happy to create a patch and attach it to
>> the bug report.
>
> Could it be that we're waiting on each other? Do you plan to contribute
> a patch, or shall I do?
Indeed. I went ahead and created the patch.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Avoid-infinitly-looping-in-tramp-interrupt-process.patch --]
[-- Type: text/x-patch, Size: 1167 bytes --]
From 418048bb52188a747acab6349a71c42c4ceebe2b Mon Sep 17 00:00:00 2001
From: John Shahid <jvshahid@gmail.com>
Date: Mon, 29 Apr 2019 16:10:47 -0400
Subject: [PATCH] Avoid infinitly looping in tramp-interrupt-process
* lisp/net/tramp.el (tramp-interrupt-process): Remove with-timeout.
Instead pass a timeout to tramp-accept-process-output.
tramp-accept-process-output stops timers from running which makes the
with-timeout ineffective.
---
lisp/net/tramp.el | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 0a3129fd45..2aa62eba80 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -4861,10 +4861,9 @@ tramp-interrupt-process
(format "kill -2 -%d" pid))
;; Wait, until the process has disappeared. If it doesn't,
;; fall back to the default implementation.
- (with-timeout (1 (ignore))
- (while (tramp-accept-process-output proc))
- ;; Report success.
- proc)))))
+ (and (tramp-accept-process-output proc 1)
+ ;; Report success.
+ proc)))))
;; `interrupt-process-functions' exists since Emacs 26.1.
(when (boundp 'interrupt-process-functions)
--
2.21.0
next prev parent reply other threads:[~2019-05-14 18:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-30 17:06 bug#35506: 27.0.50; Emacs hangs while interrupting tramp processes John Shahid
[not found] ` <handler.35506.B.155664402325068.ack@debbugs.gnu.org>
2019-04-30 17:28 ` bug#35506: Acknowledgement (27.0.50; Emacs hangs while interrupting tramp processes) John Shahid
2019-05-03 8:30 ` bug#35506: 27.0.50; Emacs hangs while interrupting tramp processes Michael Albinus
2019-05-04 14:33 ` John Shahid
2019-05-04 16:36 ` Michael Albinus
2019-05-04 17:44 ` John Shahid
2019-05-04 18:07 ` John Shahid
2019-05-14 18:19 ` Michael Albinus
2019-05-14 18:59 ` John Shahid [this message]
2019-05-15 14:32 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sgtgrhfn.fsf@gmail.com \
--to=jvshahid@gmail.com \
--cc=35506@debbugs.gnu.org \
--cc=michael.albinus@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).