From 67c0a6e63e5b1d1ad763886c7807ef3861c23515 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 17 Mar 2013 18:23:05 +0100 Subject: [PATCH] * net/tramp-adb.el (tramp-adb-parse-device-names): Use `start-process' instead of `call-process'. Otherwise, the function might be blocked under MS Windows. --- lisp/ChangeLog | 6 ++++++ lisp/net/tramp-adb.el | 18 ++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3c771a893ca..ae7d7576592 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-03-17 Michael Albinus + + * net/tramp-adb.el (tramp-adb-parse-device-names): Use + `start-process' instead of `call-process'. Otherwise, the + function might be blocked under MS Windows. + 2013-03-17 Leo Liu Extend eldoc to display info in the mode-line. (Bug#13978) diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el index 2d683a4d3d2..8b4e610b728 100644 --- a/lisp/net/tramp-adb.el +++ b/lisp/net/tramp-adb.el @@ -155,12 +155,18 @@ pass to the OPERATION." "Return a list of (nil host) tuples allowed to access." (with-timeout (10) (with-temp-buffer - (when (zerop (call-process tramp-adb-program nil t nil "devices")) - (let (result) - (goto-char (point-min)) - (while (search-forward-regexp "^\\(\\S-+\\)[[:space:]]+device$" nil t) - (add-to-list 'result (list nil (match-string 1)))) - result))))) + ;; `call-process' does not react on timer under MS Windows. + ;; That's why we use `start-process'. + (let ((p (start-process + tramp-adb-program (current-buffer) tramp-adb-program "devices")) + result) + (tramp-compat-set-process-query-on-exit-flag p nil) + (while (eq 'run (process-status p)) + (sleep-for 0.1)) + (goto-char (point-min)) + (while (search-forward-regexp "^\\(\\S-+\\)[[:space:]]+device$" nil t) + (add-to-list 'result (list nil (match-string 1)))) + result)))) (defun tramp-adb-handle-expand-file-name (name &optional dir) "Like `expand-file-name' for Tramp files." -- 2.39.2