Fix race condition in url-queue when doing the callback

* url-queue.el (url-queue-kill-job): Check whether the buffer has
been killed asynchronously before selecting it.
This commit is contained in:
Lars Magne Ingebrigtsen 2012-03-25 15:38:22 +02:00
parent dd47096027
commit e0fe1d5589
2 changed files with 7 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2012-03-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
* url-queue.el (url-queue-kill-job): Check whether the buffer has
been killed asynchronously before selecting it.
2012-03-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
* url-queue.el (url-queue-kill-job): Make sure that the callback

View file

@ -160,7 +160,8 @@ The variable `url-queue-timeout' sets a timeout."
;; Call the callback with an error message to ensure that the caller
;; is notified that the job has failed.
(with-current-buffer
(if (bufferp (url-queue-buffer job))
(if (and (bufferp (url-queue-buffer job))
(buffer-live-p (url-queue-buffer job)))
;; Use the (partially filled) process buffer it it exists.
(url-queue-buffer job)
;; If not, just create a new buffer, which will probably be