On 01/28/2012 07:56 PM, Ladislav Marek wrote:
Hi,

after this change, code:

5 timesRepeat: [
     [(Delay forSeconds: 2) value: [] onTimeoutDo: [Error signal]] fork].
Processor activeProcess suspend.

I fixed this and will push soon:

diff --git a/kernel/Delay.st b/kernel/Delay.st
index a77da53..40298cc 100644
--- a/kernel/Delay.st
+++ b/kernel/Delay.st
@@ -143,9 +143,10 @@ created.'>
         | activeDelay |
        activeDelay := self activeDelay.
        activeDelay isNil ifTrue: [^self].
+       activeDelay == aDelay
+           ifTrue: [Queue removeLast]
+           ifFalse: [Queue identityRemove: aDelay ifAbsent: []].
        aDelay reset.
-       activeDelay == aDelay ifTrue: [^Queue removeLast].
-       Queue identityRemove: aDelay ifAbsent: [].
     ]

     Delay class >> startDelayLoop [

However I cannot reproduce the problem.

Paolo



_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to