From: Matt Birkholz <puck@birchwood-abbey.net>
Date: Wed, 22 Jul 2015 15:38:55 +0000 (-0700)
Subject: Disable the "already locked!" assert when multi-processing.
X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=6ea14f7a5d072edbd62945c6d7ca11ecbac0f60f;p=mit-scheme.git

Disable the "already locked!" assert when multi-processing.
---

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))