summaryrefslogtreecommitdiff
path: root/lisp/net
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/tramp-adb.el6
-rw-r--r--lisp/net/tramp-rclone.el6
-rw-r--r--lisp/net/tramp-smb.el19
-rw-r--r--lisp/net/tramp-sudoedit.el2
-rw-r--r--lisp/net/tramp.el9
5 files changed, 25 insertions, 17 deletions
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index e2275bee2a4..ca47601e4bd 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -206,9 +206,9 @@ pass to the OPERATION."
(tramp-message v 6 "%s" (mapconcat 'identity (process-command p) " "))
(process-put p 'adjust-window-size-function 'ignore)
(set-process-query-on-exit-flag p nil)
- (while (process-live-p p)
- (accept-process-output p 0.1))
- (accept-process-output p 0.1)
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ (while (or (accept-process-output p 0.1)
+ (process-live-p p)))
(tramp-message v 6 "\n%s" (buffer-string))
(goto-char (point-min))
(while (search-forward-regexp "^\\(\\S-+\\)[[:space:]]+device$" nil t)
diff --git a/lisp/net/tramp-rclone.el b/lisp/net/tramp-rclone.el
index 0aa110d9a46..73660572966 100644
--- a/lisp/net/tramp-rclone.el
+++ b/lisp/net/tramp-rclone.el
@@ -183,9 +183,9 @@ pass to the OPERATION."
(tramp-message v 6 "%s" (mapconcat 'identity (process-command p) " "))
(process-put p 'adjust-window-size-function 'ignore)
(set-process-query-on-exit-flag p nil)
- (while (process-live-p p)
- (accept-process-output p 0.1))
- (accept-process-output p 0.1)
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ (while (or (accept-process-output p 0.1)
+ (process-live-p p)))
(tramp-message v 6 "\n%s" (buffer-string))
(goto-char (point-min))
(while (search-forward-regexp "^\\(\\S-+\\):$" nil t)
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 0c42a5d1a53..abf3248a353 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -2038,10 +2038,10 @@ Returns nil if an error message has appeared."
;; Algorithm: get waiting output. See if last line contains
;; `tramp-smb-prompt' sentinel or `tramp-smb-errors' strings.
;; If not, wait a bit and again get waiting output.
- (while (and (not found) (not err) (process-live-p p))
-
- ;; Accept pending output.
- (tramp-accept-process-output p 0.1)
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ (while (and (not found) (not err)
+ (or (tramp-accept-process-output p 0.1)
+ (process-live-p p)))
;; Search for prompt.
(goto-char (point-min))
@@ -2052,10 +2052,13 @@ Returns nil if an error message has appeared."
(setq err (re-search-forward tramp-smb-errors nil t)))
;; When the process is still alive, read pending output.
- (while (and (not found) (process-live-p p))
-
- ;; Accept pending output.
- (tramp-accept-process-output p 0.1)
+ ;; FIXME: This loop should be folded into the previous loop.
+ ;; Also, ERR should be set just once, after the combined
+ ;; loop has finished.
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ (while (and (not found)
+ (or (tramp-accept-process-output p 0.1)
+ (process-live-p p)))
;; Search for prompt.
(goto-char (point-min))
diff --git a/lisp/net/tramp-sudoedit.el b/lisp/net/tramp-sudoedit.el
index cab9b8d835a..e1e5ab091a1 100644
--- a/lisp/net/tramp-sudoedit.el
+++ b/lisp/net/tramp-sudoedit.el
@@ -746,6 +746,8 @@ ID-FORMAT valid values are `string' and `integer'."
(defun tramp-sudoedit-action-sudo (proc vec)
"Check, whether a sudo process copy has finished."
;; There might be pending output for the exit status.
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ ;; FIXME: There's a race here. Shouldn't the next two lines be interchanged?
(tramp-accept-process-output proc 0.1)
(when (not (process-live-p proc))
;; Delete narrowed region, it would be in the way reading a Lisp form.
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 437e2d19b9e..7632d656a0f 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -3977,6 +3977,8 @@ The terminal type can be configured with `tramp-terminal-type'."
(defun tramp-action-out-of-band (proc vec)
"Check, whether an out-of-band copy has finished."
;; There might be pending output for the exit status.
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ ;; FIXME: Shouldn't the following line be wrapped inside (while ...)?
(tramp-accept-process-output proc 0.1)
(cond ((and (not (process-live-p proc))
(zerop (process-exit-status proc)))
@@ -4821,9 +4823,10 @@ Only works for Bourne-like shells."
;; 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))
+ ;; We cannot run `tramp-accept-process-output', it blocks timers.
+ ;; FIXME: Either remove " 0.1", or comment why it's needed.
+ (while (or (accept-process-output proc 0.1)
+ (process-live-p proc)))
;; Report success.
proc)))))