[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-cvs
mailing list