From 6ea14f7a5d072edbd62945c6d7ca11ecbac0f60f Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Wed, 22 Jul 2015 08:38:55 -0700 Subject: [PATCH] Disable the "already locked!" assert when multi-processing. --- src/runtime/thread.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/runtime/thread.scm b/src/runtime/thread.scm index 363d7f691..fc0be3853 100644 --- a/src/runtime/thread.scm +++ b/src/runtime/thread.scm @@ -41,7 +41,10 @@ USA. (eq? interrupt-mask/gc-ok (get-interrupt-enables))) (define-integrable (lock) - (%assert (not locked?) "lock: already locked!") + (%assert (not (and (eq? 1 processor-count) + ;; This happens when there is contention. It + ;; indicates a problem only when uni-processing. + locked?)) "lock: already locked!") (set-interrupt-enables! interrupt-mask/gc-ok) (%lock)) -- 2.25.1