[Openmcl-devel] threads and special variables
bryan o'connor
bryan-openmcl at lunch.org
Wed Jan 12 16:54:40 PST 2005
> (process-run-function
> (list :name "test" :initial-bindings '((*var* . 1)(*param* . 2)))
> #'test)
sigh.. now i see i was stupidly double-quoting.
(process-run-function
'(:name "test" :initial-bindings '((*var* . 1)(*param* . 2)))
#'test)
regardless, i imagined it working like this:
(my-process-run-function #'test nil :name "test" :initial-bindings
'((*var* . 1) (*param* . 2)))
and implemented like this:
(defun my-process-run-function (function args
&key (name "Anonymous")
(priority 0)
(stack-size
*default-control-stack-size*)
(vstack-size *default-value-stack-size*)
(tstack-size *default-temp-stack-size*)
(initial-bindings ())
(persistent nil)
(use-standard-initial-bindings t))
(setq priority (require-type priority 'fixnum))
(let* ((process (make-process name
:priority priority
:stack-size stack-size
:vstack-size vstack-size
:tstack-size tstack-size
:persistent persistent
:use-standard-initial-bindings
use-standard-initial-bindings
:initial-bindings initial-bindings)))
(process-preset process #'(lambda () (apply function args)))
(process-enable process)
process))
More information about the Openmcl-devel
mailing list