From: Lars Ingebrigtsen Date: Tue, 14 Feb 2012 18:43:21 +0000 (+0100) Subject: Kill jobs that we remove from the queue X-Git-Tag: emacs-pretest-24.0.94~135 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f15bcb40f492d3b43a38447ba312fca35ce58ba2;p=emacs.git Kill jobs that we remove from the queue * url-queue.el (url-queue-kill-job): Refactored out code. (url-queue-remove-jobs-from-host): Use it to kill jobs that are in flight. --- diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index fe930dd6dd8..8f3e3997869 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,9 @@ +2012-02-14 Lars Ingebrigtsen + + * url-queue.el (url-queue-kill-job): Refactored out code. + (url-queue-remove-jobs-from-host): Use it to kill jobs that are in + flight. + 2012-02-14 Teodor Zlatanov * url-future.el: Minor doc update. diff --git a/lisp/url/url-queue.el b/lisp/url/url-queue.el index 9dfee485918..1fc33dd22f1 100644 --- a/lisp/url/url-queue.el +++ b/lisp/url/url-queue.el @@ -127,6 +127,7 @@ The variable `url-queue-timeout' sets a timeout." host) (push job jobs))) (dolist (job jobs) + (url-queue-kill-job job) (setq url-queue (delq job url-queue))))) (defun url-queue-start-retrieve (job) @@ -146,14 +147,17 @@ The variable `url-queue-timeout' sets a timeout." url-queue-timeout)) (push job dead-jobs))) (dolist (job dead-jobs) - (when (bufferp (url-queue-buffer job)) - (while (get-buffer-process (url-queue-buffer job)) - (ignore-errors - (delete-process (get-buffer-process (url-queue-buffer job))))) - (ignore-errors - (kill-buffer (url-queue-buffer job)))) + (url-queue-kill-job job) (setq url-queue (delq job url-queue))))) +(defun url-queue-kill-job (job) + (when (bufferp (url-queue-buffer job)) + (while (get-buffer-process (url-queue-buffer job)) + (ignore-errors + (delete-process (get-buffer-process (url-queue-buffer job))))) + (ignore-errors + (kill-buffer (url-queue-buffer job))))) + (provide 'url-queue) ;;; url-queue.el ends here