X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?p=clnl;a=blobdiff_plain;f=src%2Fmain%2Fmain.lisp;h=d1ffdadf350196663fc6c5d71aeafda2fdd91c91;hp=2f32d3b8b408c74ef7a41fff3cc3eee1f3dfb2f2;hb=bd5ae84;hpb=bc0c65622016066a82bc03b065f7138118c5b3cd diff --git a/src/main/main.lisp b/src/main/main.lisp index 2f32d3b..d1ffdad 100644 --- a/src/main/main.lisp +++ b/src/main/main.lisp @@ -57,6 +57,8 @@ DESCRIPTION: (*package* *model-package*)) (eval netlogoed-lisp))) +(defvar *commands-mutex* (sb-thread:make-mutex)) + (defun run-commands (cmds) "RUN-COMMANDS CMDS => RESULT @@ -69,8 +71,11 @@ DESCRIPTION: RUN-COMMANDS will take NetLogo commands, put them through the various stages need to turn them into Common Lisp code, and run it." - (clnl-nvm:with-stop-handler - (funcall *callback* cmds))) + + ; This mutex is a necessary because we haven't yet moved to a job thread + (sb-thread:with-mutex (*commands-mutex*) + (clnl-nvm:with-stop-handler + (funcall *callback* cmds)))) (defun run-reporter (reporter) "RUN-REPORTER REPORTER => RESULT