summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2017-12-11 09:36:23 +0100
committerMichael Albinus <michael.albinus@gmx.de>2017-12-11 09:36:23 +0100
commit6a6e8e6e8d56fb8c4798ccfbabdf1f34d8857692 (patch)
treeab3573a5ea8c9e00db21dc3db4740696d3609506 /lisp
parent5bcd468a9e007351bfad65fb5c4b49b0c319947f (diff)
downloademacs-6a6e8e6e8d56fb8c4798ccfbabdf1f34d8857692.tar.gz
emacs-6a6e8e6e8d56fb8c4798ccfbabdf1f34d8857692.tar.bz2
emacs-6a6e8e6e8d56fb8c4798ccfbabdf1f34d8857692.zip
Make tramp-interrupt-process more robust
* lisp/net/tramp.el (tramp-interrupt-process): Fall back to the default implementation if there's no success.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/tramp.el12
1 files changed, 6 insertions, 6 deletions
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 2fdc651a372..1695eea06cc 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -4570,14 +4570,14 @@ Only works for Bourne-like shells."
'tramp-send-command
(tramp-get-connection-property proc "vector" nil)
(format "kill -2 %d" pid))
- ;; Wait, until the process has disappeared.
- (with-timeout
- (1 (tramp-error proc 'error "Process %s did not interrupt" proc))
+ ;; Wait, until the process has disappeared. If it doesn't,
+ ;; fall back to the default implementation.
+ (with-timeout (1 (ignore))
(while (process-live-p proc)
;; We cannot run `tramp-accept-process-output', it blocks timers.
- (accept-process-output proc 0.1)))
- ;; Report success.
- proc))))
+ (accept-process-output proc 0.1))
+ ;; Report success.
+ proc)))))
;; `interrupt-process-functions' exists since Emacs 26.1.
(when (boundp 'interrupt-process-functions)