* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
Read pending output.
* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
Use a timeout when reading process output.
;; The descriptor must be a process object.
(unless (processp proc)
(tramp-error proc 'file-notify-error "Not a valid descriptor %S" proc))
+ ;; There might be pending output.
+ (while (tramp-accept-process-output proc 0))
(tramp-message proc 6 "Kill %S" proc)
(delete-process proc))
(should (numberp (process-get proc 'remote-pid)))
(should (interrupt-process proc))
;; Let the process accept the interrupt.
- (while (accept-process-output proc nil nil 0))
+ (with-timeout (10 (tramp--test-timeout-handler))
+ (while (accept-process-output proc nil nil 0)))
(should-not (process-live-p proc))
;; An interrupted process cannot be interrupted, again.
(should-error (interrupt-process proc) :type 'error))