The Trunk: Morphic-topa.678.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-topa.678.mcz

commits-2
Tobias Pape uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-topa.678.mcz

==================== Summary ====================

Name: Morphic-topa.678
Author: topa
Time: 21 August 2013, 4:37:34.207 pm
UUID: 22a6ae09-5f3e-47c1-a4b8-0bf5d7f2d24e
Ancestors: Morphic-fbs.677

Fix alarm triggering to actually trigger all pending alarms.
Pointed out by Bob Arning and John McKeon

=============== Diff against Morphic-fbs.677 ===============

Item was changed:
  ----- Method: WorldState>>triggerAlarmsBefore: (in category 'alarms') -----
  triggerAlarmsBefore: nowTime
  "Trigger all pending alarms that are to be executed before nowTime."
  | triggered |
  lastAlarmTime ifNil:[lastAlarmTime := nowTime].
  (nowTime < lastAlarmTime or:[nowTime - lastAlarmTime > 10000])
  ifTrue:[self adjustAlarmTimes: nowTime].
  triggered := OrderedCollection new.
  self lockAlarmsDuring: [:pending |
+ [pending isEmpty not and: [pending first scheduledTime < nowTime]]
+ whileTrue: [triggered add: pending removeFirst]].
- (pending isEmpty not and: [pending first scheduledTime < nowTime])
- ifTrue: [triggered add: pending removeFirst]].
  triggered do: [:alarm | alarm value: nowTime].
  lastAlarmTime := nowTime.!