diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod index ee416d4518bdc7c6824a9b9f1da1cc7dff84839a..d8c7ea2637d2d9166d012a8e852379e9fc05f9d0 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);