Delay issue

Project:GNU Smalltalk
Component:VM
Category:bug
Priority:normal
Assigned:MrGwen
Status:fixed
Description

In master I've the following problem with Delay.
st> d := Delay forSeconds: 2.
st> d wait

(wait two seconds)

st> d wait
(doesn't wait anymore)

st> d reset; wait
 (wait again two seconds)

If I change Delay class>>#unscheduleDelay: it works

Delay class >> unscheduleDelay: aDelay [

 "Private - Unschedule this Delay.  Run in the timer process, which
  is the only one that manipulates Queue."

 
 | activeDelay |
 activeDelay := self activeDelay.
 activeDelay isNil ifTrue: [^self].
 aDelay reset.
 activeDelay == aDelay ifTrue: [^Queue removeLast].
 Queue identityRemove: aDelay ifAbsent: [].

]

Updates

#1 submitted by Paolo Bonzini on Sat, 01/21/2012 - 17:43
Status:active» fixed

The patch looks sane, but do you have any idea why it doesn't show on 3.2?

#2 submitted by Gwenael Casaccio on Sun, 01/22/2012 - 14:15

I've tried with gst 3.2.4 and there is the same bug

User login