[cmucl-commit] [git] CMU Common Lisp branch master updated. snapshot-2014-08-43-g458231d

Raymond Toy rtoy at common-lisp.net
Fri Aug 29 03:03:34 UTC 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The branch, master has been updated
       via  458231d178c7c98798c653f574b6aab839637bc1 (commit)
      from  9ca40a2b90607cd33577644c5cd5d38ae5fe1354 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 458231d178c7c98798c653f574b6aab839637bc1
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Thu Aug 28 20:03:24 2014 -0700

    If a process is not schedulable because it has no run-reasons and/or
    an arrest-reason, destroy-process doesn't take effect.
    Destroy-process sets process-state to :active to try to ensure it gets
    the interrupt, but it also needs to clear process-%arrest-reasons and
    push something on process-%run-reasons.
    
    Patch from Paul Foley.

diff --git a/src/code/multi-proc.lisp b/src/code/multi-proc.lisp
index 4e2b1bc..c73f0b4 100644
--- a/src/code/multi-proc.lisp
+++ b/src/code/multi-proc.lisp
@@ -1044,7 +1044,9 @@
 	   (process-interrupts process))
      ;; Ensure that the process is active so that it can accept this
      ;; interrupt.
-     (setf (process-state process) :active)))
+     (setf (process-state process) :active
+          (process-%arrest-reasons process) nil)
+     (push :destroyed (process-%run-reasons process))))
   ;; Should we wait until it's dead?
   (process-yield))
 

-----------------------------------------------------------------------

Summary of changes:
 src/code/multi-proc.lisp |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMU Common Lisp


More information about the cmucl-commit mailing list