--- a/Semaphore.st Wed Dec 28 22:58:47 2016 +0000
+++ b/Semaphore.st Thu Jan 05 21:02:10 2017 +0000
@@ -410,17 +410,17 @@
NOTE: must be called with blocked interrupts"
- "for now"
waitingProcesses isNil ifTrue:[
- waitingProcesses := Array with:aProcess
+ "for now - assume that there is probably only one waiter"
+ waitingProcesses := Array with:aProcess
] ifFalse:[
- waitingProcesses isArray ifTrue:[
- "add 2 to reserve space for additional waiters"
- waitingProcesses := (OrderedCollection new:waitingProcesses size + 2)
- addAll:waitingProcesses;
- yourself.
- ].
- waitingProcesses add:aProcess.
+ waitingProcesses isArray ifTrue:[
+ "add 2 to reserve space for additional waiters"
+ waitingProcesses := (OrderedCollection new:waitingProcesses size + 2)
+ addAll:waitingProcesses;
+ yourself.
+ ].
+ waitingProcesses add:aProcess.
].
"/ "Sort, so that higher priority process are resumed first.