remove timed block if curtailed
authorClaus Gittinger <cg@exept.de>
Wed, 02 Oct 2002 15:33:12 +0200
changeset 6786 f2ba4ca0bff4
parent 6785 372a6bdc2224
child 6787 a1703f7cd4fd
remove timed block if curtailed
Semaphore.st
--- a/Semaphore.st	Tue Oct 01 17:11:35 2002 +0200
+++ b/Semaphore.st	Wed Oct 02 15:33:12 2002 +0200
@@ -690,8 +690,6 @@
 
     seconds notNil ifTrue:[
         millis := seconds * 1000 
-    ] ifFalse:[
-        millis := nil
     ].
     ^ self waitWithTimeoutMs:millis.
 !
@@ -748,6 +746,7 @@
             [
                 activeProcess suspendWithState:#wait.
             ] ifCurtailed:[
+                Processor removeTimedBlock:unblock.
                 unblock := nil.
                 waitingProcesses removeIdentical:activeProcess ifAbsent:[].
                 wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
@@ -781,5 +780,5 @@
 !Semaphore class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.64 2002-07-10 11:11:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.65 2002-10-02 13:33:12 cg Exp $'
 ! !