hi!
i've got a macro that i need for debugging code and i think it would
be useful for b-t. it's called with-thread-name, that appends the
given string to the thread's name and restores the old name in an
unwind-protect.
it's useful when you have 10 nodes with 25 threads each and need to
debug stuff like sbcl hanging in CLOSE on a socket.
if you like the idea i can move it into b-t and package up as a darcs patch.
--
attila
Hello All,
the appended patch stops bordeaux-threads from compiling successfully
for Lisp implementations which have no threading support enabled.
Thiemo
--- bordeaux-threads/src/allegro-orig.lisp 2006-06-06 03:44:26.000000000 +0100
+++ bordeaux-threads/src/allegro.lisp 2007-06-24 12:13:40.000000000 +0100
@@ -75,3 +75,6 @@
(mp:process-kill thread))
) ; end PROGN
+
+#-multiprocessing
+(error "This implementation of ALLEGRO does not support threads.")
--- bordeaux-threads/src/cmu-orig.…
[View More]lisp 2007-06-24 11:16:38.000000000 +0100
+++ bordeaux-threads/src/cmu.lisp 2007-06-24 12:13:58.000000000 +0100
@@ -84,3 +84,6 @@
(mp:destroy-process thread))
) ; end PROGN
+
+#-mp
+(error "This implementation of CMUCL does not support threads.")
--- bordeaux-threads/src/sbcl-orig.lisp 2007-06-24 10:46:12.000000000 +0100
+++ bordeaux-threads/src/sbcl.lisp 2007-06-24 12:13:58.000000000 +0100
@@ -74,3 +74,6 @@
(sb-thread:terminate-thread thread))
) ; end PROGN
+
+#-sb-thread
+(error "This implementation of SBCL does not support threads.")
--- bordeaux-threads/src/openmcl-orig.lisp 2006-06-06 03:44:26.000000000 +0100
+++ bordeaux-threads/src/openmcl.lisp 2007-06-24 12:14:14.000000000 +0100
@@ -83,4 +83,7 @@
(defmethod destroy-thread ((thread ccl:process))
(ccl:process-kill thread))
-) ; end PROGN
\ No newline at end of file
+) ; end PROGN
+
+#-openmcl-native-threads
+(error "This implementation of OpenMCL does not support threads.")
[View Less]
hi!
i'm about to implement a simple send/receive message api based on
condition variables and i wonder whether it fits the scope of
bordeaux-threads...
if you also think it does, then let me know and i'll send a patch.
another thing i'm missing and which is not strictly a primitive is a
read/write lock (even if it's a naiive implementation).
i know that these features are implementable in terms of the current
b-t api (i'm not sure about the read/write lock, though), but where
else would we …
[View More]put them then a threading lib?
--
attila
[View Less]
Here is a a little patch I needed to make UnCommonWeb work with Allegro
8.0. It's an implementation of make-recursive-lock and a small change to
with-recursive-lock-held when no timeout is specified.
/Henrik Hjelte
hi!
as the title sais... small changes here and there to make it load on
clisp and to provide a way for the apps to check for threads.
--
- attila
"- The truth is that I've been too considerate, and so became
unintentionally cruel...
- I understand.
- No, you don't understand! We don't speak the same language!"
(Ingmar Bergman - Smultronstället)
Greg,
I'm writing CL-STM, and I was wondering if we could
change `condition-wait' to take the lock as an optional
argument? At the moment, I'm acquiring a dummy lock,
and then using `condition-wait' on it. What do you think?
Hoan