projects
/
kmrcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r10387: support new sbcl
[kmrcl.git]
/
processes.lisp
diff --git
a/processes.lisp
b/processes.lisp
index 36fa3d952c10e0861386f19b4fa396777cacbc5a..5b2c09d2eb78714062db17c00b6a7d0c27cf80ff 100644
(file)
--- a/
processes.lisp
+++ b/
processes.lisp
@@
-18,7
+18,8
@@
#+cmu (mp:make-process func :name name)
#+lispworks (mp:process-run-function name nil func)
#+sb-thread (sb-thread:make-thread func)
#+cmu (mp:make-process func :name name)
#+lispworks (mp:process-run-function name nil func)
#+sb-thread (sb-thread:make-thread func)
- #-(or allegro cmu lispworks sb-thread) (funcall func)
+ #+openmcl (ccl:process-run-function name func)
+ #-(or allegro cmu lispworks sb-thread openmcl) (funcall func)
)
(defun destroy-process (process)
)
(defun destroy-process (process)
@@
-26,13
+27,15
@@
#+allegro (mp:process-kill process)
#+sb-thread (sb-thread:destroy-thread process)
#+lispworks (mp:process-kill process)
#+allegro (mp:process-kill process)
#+sb-thread (sb-thread:destroy-thread process)
#+lispworks (mp:process-kill process)
+ #+openmcl (ccl:process-kill process)
)
(defun make-lock (name)
#+allegro (mp:make-process-lock :name name)
#+cmu (mp:make-lock name)
#+lispworks (mp:make-lock :name name)
)
(defun make-lock (name)
#+allegro (mp:make-process-lock :name name)
#+cmu (mp:make-lock name)
#+lispworks (mp:make-lock :name name)
- #+sbcl-thread (sb-thread:make-mutex :name name)
+ #+sb-thread (sb-thread:make-mutex :name name)
+ #+openmcl (ccl:make-lock name)
)
(defmacro with-lock-held ((lock) &body body)
)
(defmacro with-lock-held ((lock) &body body)
@@
-42,9
+45,11
@@
`(mp:with-lock-held (,lock) ,@body)
#+lispworks
`(mp:with-lock (,lock) ,@body)
`(mp:with-lock-held (,lock) ,@body)
#+lispworks
`(mp:with-lock (,lock) ,@body)
- #+sb
cl
-thread
+ #+sb-thread
`(sb-thread:with-recursive-lock (,lock) ,@body)
`(sb-thread:with-recursive-lock (,lock) ,@body)
- #-(or allegro cmu lispworks sbcl-thread)
+ #+openmcl
+ `(ccl:with-lock-grabbed (,lock) ,@body)
+ #-(or allegro cmu lispworks sb-thread openmcl)
`(progn ,@body)
)
`(progn ,@body)
)
@@
-54,9
+59,14
@@
`(mp:with-timeout (,seconds) ,@body)
#+cmu
`(mp:with-timeout (,seconds) ,@body)
`(mp:with-timeout (,seconds) ,@body)
#+cmu
`(mp:with-timeout (,seconds) ,@body)
- #+sb
cl
-thread
+ #+sb-thread
`(sb-ext:with-timeout ,seconds ,@body)
`(sb-ext:with-timeout ,seconds ,@body)
- #-(or allegro cmu sbcl-thread)
+ #+openmcl
+ `(ccl:process-wait-with-timeout "waiting"
+ (* ,seconds ccl:*ticks-per-second*)
+ #'(lambda ()
+ ,@body) nil)
+ #-(or allegro cmu sb-thread openmcl)
`(progn ,@body)
)
`(progn ,@body)
)