care for interrupts when curtailed
authorca
Tue, 21 Oct 2008 15:36:37 +0200
changeset 11257 9689500b7608
parent 11256 effe3315a33f
child 11258 5117e5bd0dc3
care for interrupts when curtailed
SemaphoreSet.st
--- a/SemaphoreSet.st	Tue Oct 21 15:36:09 2008 +0200
+++ b/SemaphoreSet.st	Tue Oct 21 15:36:37 2008 +0200
@@ -186,6 +186,7 @@
             [
                 currentProcess suspendWithState:#wait.
             ] ifCurtailed:[
+                OperatingSystem blockInterrupts.
                 self do:[:eachSema |
                     eachSema removeWaitingProcess:currentProcess.
                 ].
@@ -266,6 +267,7 @@
             [
                 currentProcess suspendWithState:#wait.
             ] ifCurtailed:[
+                OperatingSystem blockInterrupts.
                 timeoutBlock notNil ifTrue:[
                     Processor removeTimedBlock:timeoutBlock.
                     timeoutBlock := nil.
@@ -303,5 +305,5 @@
 !SemaphoreSet class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/SemaphoreSet.st,v 1.16 2008-10-21 11:05:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/SemaphoreSet.st,v 1.17 2008-10-21 13:36:37 ca Exp $'
 ! !