summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/net/tramp-cache.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el
index 07176be6e4..76b49a09e3 100644
--- a/lisp/net/tramp-cache.el
+++ b/lisp/net/tramp-cache.el
@@ -237,9 +237,14 @@ connection, returns DEFAULT."
(aset key 3 nil)
(aset key 4 nil))
(let* ((hash (tramp-get-hash-table key))
- (value (if (hash-table-p hash)
- (gethash property hash default)
- default)))
+ (value
+ ;; If the key is an auxiliary process object, check whether
+ ;; the process is still alive.
+ (if (and (processp key) (not (memq (process-status key) '(run open))))
+ default
+ (if (hash-table-p hash)
+ (gethash property hash default)
+ default))))
(tramp-message key 7 "%s %s" property value)
value))