[Bordeaux-threads-devel] Upcoming 0.8.3 release

Martin Simmons martin at lispworks.com
Thu Mar 21 18:39:46 UTC 2013


>>>>> On Mon, 18 Mar 2013 21:41:42 +0100, Stelian Ionescu said:
> 
> I'd like to make a new release by this weekend, so please run the test
> suite on all available implementations.

There are two bugs in the LispWorks implementation of bt:join-thread.
Firstly, mp:process-private-property only works on the current thread (the
second argument is actually the default) and secondly the private properties
are removed when the process exits.

Please use mp:process-property instead:

diff --git a/src/impl-lispworks.lisp b/src/impl-lispworks.lisp
index fd8245c..882866b 100644
--- a/src/impl-lispworks.lisp
+++ b/src/impl-lispworks.lisp
@@ -25,7 +25,7 @@ Distributed under the MIT license (see LICENSE file)
    (lambda ()
      (let ((return-values
              (multiple-value-list (funcall function))))
-       (setf (mp:process-private-property 'return-values (current-thread))
+       (setf (mp:process-property 'return-values)
              return-values)
        (values-list return-values)))))
 
@@ -119,7 +119,7 @@ Distributed under the MIT license (see LICENSE file)
 (defun join-thread (thread)
   (%join-thread thread)
   (let ((return-values
-          (mp:process-private-property 'return-values thread)))
+          (mp:process-property 'return-values thread)))
     (values-list return-values)))
 
 (mark-supported)

-- 
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/




More information about the bordeaux-threads-devel mailing list