#+allegro (mp:process-run-function name func)
#+cmu (mp:make-process func :name name)
#+lispworks (mp:process-run-function name nil func)
- #+sb-thread (sb-thread:make-thread func)
+ #+sb-thread (sb-thread:make-thread func :name name)
#+openmcl (ccl:process-run-function name func)
#-(or allegro cmu lispworks sb-thread openmcl) (funcall func)
)
#+lispworks
`(mp:with-lock (,lock) ,@body)
#+sb-thread
- `(sb-thread:with-mutex (,lock) ,@body)
+ `(sb-thread:with-recursive-lock (,lock) ,@body)
#+openmcl
`(ccl:with-lock-grabbed (,lock) ,@body)
#-(or allegro cmu lispworks sb-thread openmcl)
#-(or allegro cmu sb-thread openmcl)
`(progn ,@body)
)
-
+
(defun process-sleep (n)
#+allegro (mp:process-sleep n)
#-allegro (sleep n))