emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r107673: Fix race condition in url-qu


From: Lars Magne Ingebrigtsen
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r107673: Fix race condition in url-queue when doing the callback
Date: Sun, 25 Mar 2012 15:38:22 +0200
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 107673
committer: Lars Magne Ingebrigtsen <address@hidden>
branch nick: trunk
timestamp: Sun 2012-03-25 15:38:22 +0200
message:
  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.
modified:
  lisp/url/ChangeLog
  lisp/url/url-queue.el
=== modified file 'lisp/url/ChangeLog'
--- a/lisp/url/ChangeLog        2012-03-14 02:44:09 +0000
+++ b/lisp/url/ChangeLog        2012-03-25 13:38:22 +0000
@@ -1,3 +1,8 @@
+2012-03-25  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * url-queue.el (url-queue-kill-job): Check whether the buffer has
+       been killed asynchronously before selecting it.
+
 2012-03-14  Lars Magne Ingebrigtsen  <address@hidden>
 
        * url-queue.el (url-queue-kill-job): Make sure that the callback

=== modified file 'lisp/url/url-queue.el'
--- a/lisp/url/url-queue.el     2012-03-14 02:44:09 +0000
+++ b/lisp/url/url-queue.el     2012-03-25 13:38:22 +0000
@@ -160,7 +160,8 @@
   ;; 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]