Function: tramp-action-out-of-band
tramp-action-out-of-band is a byte-compiled function defined in
tramp.el.gz.
Signature
(tramp-action-out-of-band PROC VEC)
Documentation
Check, whether an out-of-band copy has finished.
Source Code
;; Defined in /usr/src/emacs/lisp/net/tramp.el.gz
(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.
(while (tramp-accept-process-output proc 0))
(cond ((and (not (process-live-p proc))
(zerop (process-exit-status proc)))
(tramp-message vec 3 "Process has finished.")
(throw 'tramp-action 'ok))
((or (and (memq (process-status proc) '(stop exit))
(not (zerop (process-exit-status proc))))
(eq (process-status proc) 'signal))
;; `scp' could have copied correctly, but set modes could have failed.
;; This can be ignored.
(with-current-buffer (process-buffer proc)
(goto-char (point-min))
(if (re-search-forward tramp-operation-not-permitted-regexp nil t)
(progn
(tramp-message vec 5 "'set mode' error ignored.")
(tramp-message vec 3 "Process has finished.")
(throw 'tramp-action 'ok))
(tramp-message vec 3 "Process has died.")
(throw 'tramp-action 'out-of-band-failed))))
(t nil)))