Please remove the clause for simple-process-p from bordeaux-threads:threadp in LispWorks. The main reasons are that the simple process concept hasn't been supported on most platforms for years and was never a thread (with its own stack etc). Another reason is that the symbol mp:simple-process-p still exists, so the conditionalization doesn't work as expected.
--- src/impl-lispworks.lisp~ 2012-06-01 20:17:41.000000000 +0100 +++ src/impl-lispworks.lisp 2012-06-06 15:42:32.642191550 +0100 @@ -30,10 +30,7 @@ (mp:get-current-process))
(defun threadp (object) - (or (mp:process-p object) - ;; removed in LispWorks 6.1 - #+#.(cl:if (cl:find-symbol (cl:string '#:simple-process-p) :mp) '(and) '(or)) - (mp:simple-process-p object))) + (mp:process-p object))
(defun thread-name (thread) (mp:process-name thread))