FIX RACE CONDITION
authorStefan Vogel <sv@exept.de>
Tue, 28 Jan 2003 15:02:40 +0100
changeset 6975 480fec265743
parent 6974 a0ba5e2bf034
child 6976 4529a6fafa92
FIX RACE CONDITION which coud cause a RecursionLock to deadLock if reused by the same process.
RecursionLock.st
--- a/RecursionLock.st	Tue Jan 28 12:24:20 2003 +0100
+++ b/RecursionLock.st	Tue Jan 28 15:02:40 2003 +0100
@@ -200,9 +200,9 @@
             OperatingSystem blockInterrupts.
         ] ifCurtailed:[
             process := nil.
-        ]
+        ].
+        process := nil.
     ].
-    process := nil.
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
 
     ^ retVal
@@ -214,5 +214,5 @@
 !RecursionLock class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/RecursionLock.st,v 1.26 2002-07-09 14:07:10 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/RecursionLock.st,v 1.27 2003-01-28 14:02:40 stefan Exp $'
 ! !