summaryrefslogtreecommitdiff
path: root/lisp/eshell/esh-proc.el
diff options
context:
space:
mode:
authorJim Porter <jporterbugs@gmail.com>2022-02-21 12:14:34 -0800
committerLars Ingebrigtsen <larsi@gnus.org>2022-02-23 13:13:45 +0100
commit76fcfe1eb1b6b8086cb58966801d2509fd55d9f9 (patch)
treee92819e05cc6252551bf083b33316861aa380c43 /lisp/eshell/esh-proc.el
parent7b0b27971b583c09cbc524d2215546f5dfe4a0e1 (diff)
downloademacs-76fcfe1eb1b6b8086cb58966801d2509fd55d9f9.tar.gz
Ignore 'eshell-broken-pipe' error in 'eshell-sentinel'
This can happen if 'eshell-sentinel' tries to write output to another process, but that process has already terminated. * lisp/eshell/esh-proc.el (eshell-sentinel): Use 'ignore-error' instead of 'unwind-protect'.
Diffstat (limited to 'lisp/eshell/esh-proc.el')
-rw-r--r--lisp/eshell/esh-proc.el12
1 files changed, 6 insertions, 6 deletions
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el
index ed37de85f7a..d7d22d2a9ef 100644
--- a/lisp/eshell/esh-proc.el
+++ b/lisp/eshell/esh-proc.el
@@ -435,12 +435,12 @@ PROC is the process that's exiting. STRING is the exit message."
(lambda ()
(if (nth 4 entry)
(run-at-time 0 nil finish-io)
- (unwind-protect
- (when str
- (eshell-output-object
- str nil handles))
- (eshell-close-handles
- status 'nil handles))))))
+ (when str
+ (ignore-error 'eshell-pipe-broken
+ (eshell-output-object
+ str nil handles)))
+ (eshell-close-handles
+ status 'nil handles)))))
(funcall finish-io)))))
(eshell-remove-process-entry entry))))
(eshell-kill-process-function proc string)))))