Function: ange-ftp-wait-not-busy

ange-ftp-wait-not-busy is a byte-compiled function defined in ange-ftp.el.gz.

Signature

(ange-ftp-wait-not-busy PROC)

Source Code

;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
;; Wait for the ange-ftp process PROC not to be busy.
(defun ange-ftp-wait-not-busy (proc)
  (with-current-buffer (process-buffer proc)
    (condition-case nil
	;; This is a kludge to let user quit in case ftp gets hung.
	;; It matters because this function can be called from the filter.
	;; It is bad to allow quitting in a filter, but getting hung
	;; is worse.  By binding quit-flag to nil, we might avoid
	;; most of the probability of getting screwed because the user
	;; wants to quit some command.
	(let ((quit-flag nil)
	      (inhibit-quit nil))
	  (while ange-ftp-process-busy
	    (accept-process-output proc)))
      (quit
       ;; If the user does quit out of this,
       ;; kill the process.  That stops any transfer in progress.
       ;; The next operation will open a new ftp connection.
       (delete-process proc)
       (signal 'quit nil)))))