X-Git-Url: https://git.jsancho.org/?p=gacela.git;a=blobdiff_plain;f=src%2Fengine.scm;h=0770e09c217bc7446312c90db6ded657c794e14f;hp=6d5e0e732ec23f56ba85b6e91253a0a88f08fea5;hb=2a4f421a74b6e31e7718d206be704f1d42a268a2;hpb=85b34025ccd4e13188f3c2b88cd039a8cc636d93 diff --git a/src/engine.scm b/src/engine.scm index 6d5e0e7..0770e09 100644 --- a/src/engine.scm +++ b/src/engine.scm @@ -94,10 +94,12 @@ (define-syntax with-engine (syntax-rules () ((_ engine body ...) - (begin + (let ((old-engine (current-engine))) (set-current-engine! engine) - (let ((res (begin body ...))) - (set-current-engine! #f) + (let ((res (with-mutex (engine-mutex engine) + body + ...))) + (set-current-engine! old-engine) res))))) (export current-engine