X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=processes.lisp;fp=processes.lisp;h=547b862bafcf9b195c1916034af2a5a864ac49c4;hp=64921f7692eda5f84a52b4aa081db4cc5ebe254d;hb=0dc565c13310ce9f59b42b4e4bdd9167e24ca756;hpb=2fc0a2b38575a33374a6ec06a0d487ac8a7e3ef0 diff --git a/processes.lisp b/processes.lisp index 64921f7..547b862 100644 --- a/processes.lisp +++ b/processes.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: June 2003 ;;;; -;;;; $Id: processes.lisp,v 1.2 2003/07/09 22:12:52 kevin Exp $ +;;;; $Id: processes.lisp,v 1.3 2003/07/11 02:37:33 kevin Exp $ ;;;; ************************************************************************* (in-package #:kmrcl) @@ -24,7 +24,7 @@ (defun destroy-process (process) #+cmu (mp:destroy-process process) #+allegro (mp:process-kill process) - #+sbcl-thread (sb-thread:destroy-thread process) + #+sb-thread (sb-thread:destroy-thread process) #+lispworks (mp:process-kill process) ) @@ -44,6 +44,19 @@ `(mp:with-lock (,lock) ,@body) #+sbcl-thread `(sb-thread:with-recursive-lock (,lock) ,@body) + #-(or allegro cmu lispworks sbcl-thread) + `(progn ,@body) ) +(defmacro with-timeout ((seconds) &body body) + #+allegro + `(mp:with-timeout (,seconds) ,@body) + #+cmu + `(mp:with-timeout (,seconds) ,@body) + #+sbcl-thread + `(sb-ext:with-timeout ,seconds ,@body) + #-(or allegro cmu sbcl-thread) + `(progn ,@body) + ) +