[cmucl-commit] [git] CMU Common Lisp branch master updated. snapshot-2013-03-a-5-g0232d22

Raymond Toy rtoy at common-lisp.net
Sun Mar 24 16:43:40 UTC 2013


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  0232d2242e5acf9d1654cd0e4d7883de9e9f4705 (commit)
      from  50b13399f16ca49f7b54a0b5bc427ad0a67b9579 (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 0232d2242e5acf9d1654cd0e4d7883de9e9f4705
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Sun Mar 24 09:43:33 2013 -0700

    Fix ticket:77 by adding the code given in the ticket.

diff --git a/src/code/multi-proc.lisp b/src/code/multi-proc.lisp
index 8b2df04..b0ce883 100644
--- a/src/code/multi-proc.lisp
+++ b/src/code/multi-proc.lisp
@@ -1972,3 +1972,20 @@
 		  ,lock 2 *current-process* nil)
 	  #-x86 (when (eq (lock-process ,lock) *current-process*)
 		   (setf (lock-process ,lock) nil)))))))
+
+(defun %make-thread (function name)
+  (mp:make-process (lambda ()
+                     (let ((return-values
+                             (multiple-value-list (funcall function))))
+                       (setf (getf (mp:process-property-list mp:*current-process*)
+                                   'return-values)
+                             return-values)
+                       (values-list return-values)))
+                   :name name))
+
+(defun join-thread (thread)
+  (mp:process-wait (format nil "Waiting for thread ~A to complete" thread)
+                   (lambda () (not (mp:process-alive-p thread))))
+  (let ((return-values
+          (getf (mp:process-property-list thread) 'return-values)))
+    (values-list return-values)))
diff --git a/src/general-info/release-20e.txt b/src/general-info/release-20e.txt
index 5ec6b03..06c2fc6 100644
--- a/src/general-info/release-20e.txt
+++ b/src/general-info/release-20e.txt
@@ -42,6 +42,7 @@ New in this release:
       * :I486 and :PENTIUM (Always assume we're running on at least a
         Pentium.)
     * Update unicode to support Unicode 6.2.
+    * Add MP:JOIN-THREAD, as given in ticket #77.
 
   * ANSI compliance fixes:
     * Attempts to modify the standard readtable or the standard pprint
@@ -70,6 +71,7 @@ New in this release:
     * Ticket #74 fixed.
     * Ticket #76 fixed.
     * Ticket #79 fixed.
+    * Ticket #77 fixed.
 
   * Other changes:
     * -8 option for build-all.sh is deprecated since we don't

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

Summary of changes:
 src/code/multi-proc.lisp         |   17 +++++++++++++++++
 src/general-info/release-20e.txt |    2 ++
 2 files changed, 19 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
CMU Common Lisp


More information about the cmucl-commit mailing list