From 070c1c667f6997680c50f08484dc6c8353ff8053 Mon Sep 17 00:00:00 2001
From: Martin Stjernholm <mast@lysator.liu.se>
Date: Thu, 27 Sep 2001 17:36:21 +0200
Subject: [PATCH] Fixed the swapped flags 1 and 2 to the nonthreaded simulation
 of Mutex.lock.

Rev: lib/modules/Thread.pmod:1.31
---
 lib/modules/Thread.pmod | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod
index ee416d4518..d8c7ea2637 100644
--- a/lib/modules/Thread.pmod
+++ b/lib/modules/Thread.pmod
@@ -579,12 +579,16 @@ class Mutex
 	if (locks) error ("Recursive mutex locks.\n");
 	break;
       case 1:
-	break;
-      case 2:
 	if (locks)
 	  // To be really accurate we should hang now, but somehow
 	  // that doesn't seem too useful.
 	  error ("Deadlock detected.\n");
+	break;
+      case 2:
+	if (locks) {
+	  locks++;
+	  return 0;
+	}
     }
     locks++;
     return MutexKey (dec_locks);
-- 
GitLab