class: Semaphore
changed: #wakeupWaiters
fix removing dead processes from the waiting process list
--- 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 $'
! !
+