class: Semaphore
authorStefan Vogel <sv@exept.de>
Thu, 07 Feb 2013 11:48:36 +0100
changeset 14763 db01620704a8
parent 14762 dbcf4ab2af2e
child 14764 2497dc2ff1ab
class: Semaphore changed: #wakeupWaiters fix removing dead processes from the waiting process list
Semaphore.st
--- a/Semaphore.st	Thu Feb 07 04:25:37 2013 +0000
+++ b/Semaphore.st	Thu Feb 07 11:48:36 2013 +0100
@@ -456,9 +456,8 @@
         ]
     ].
     anyDead ifTrue:[
-        [
-            processes := processes reject:[:p | p isNil or:[p isDead]]
-        ] valueUninterruptably.
+        "interrupts are already blocked by sender"
+        waitingProcesses := processes reject:[:p | p isNil or:[p isDead]]
     ].
 
     "Modified: / 06-11-2012 / 14:27:09 / anwild"
@@ -977,9 +976,10 @@
 !Semaphore class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.88 2012-11-26 21:48:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.89 2013-02-07 10:48:36 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.88 2012-11-26 21:48:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Semaphore.st,v 1.89 2013-02-07 10:48:36 stefan Exp $'
 ! !
+