[pharo-project/pharo-core] bea5e5: 40548
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1 https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88... Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015) Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353 http://files.pharo.org/image/40/40548.zip
On 10 Mar 2015, at 16:31, GitHub <noreply@github.com> wrote:
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1 https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88... Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
a distinctive four-note "short-short-short-long" motif twice ;-) it seems to work fine, great work Ben ! Sven
YAY!! Thanks Esteban for integration, and Nicolai and Max for code reviews. To observe the new behaviour: 1. Tools > Process Browser Observe at the top "(80) Delay Scheduling Process: DelayMicrosecondScheduler>>runTimerEventLoop" This based on the new primitive by Eliot that rolls over every 50,000 years. 2. System > Settings > System > Delay Scheduler - select "DelayMillisecondScheduler" 3. Right-click back in Process Browser, and select [update list]. Observe at the top "(80) Delay Scheduling Process: DelayMillisecondScheduler>>runTimerEventLoop" This is the old primitive that rolls over every 6 days. Actually not really very exciting to look at ;) - but there you go! I'm glad its integrated. Now we'll see if any corner case bugs shake out of the woodwork. Note that the option list also includes "DelayScheduler". This is the old scheduler I refactored out from the class side of Delay. This was only kept as-is to smooth this integration step. It essentially became DelayMillisecondScheduler and will be removed from that list to allow some required cleanup to proceed. In the "super fast delay" thread I'll advise that it is solved. cheers -ben On Tue, Mar 10, 2015 at 11:43 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 10 Mar 2015, at 16:31, GitHub <noreply@github.com> wrote:
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1
https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88...
Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/ initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
a distinctive four-note "short-short-short-long" motif twice ;-)
it seems to work fine, great work Ben !
Sven
Ben thanks a lot for your effort! I would love to get a little description of the new architecture. Stef
YAY!! Thanks Esteban for integration, and Nicolai and Max for code reviews.
To observe the new behaviour:
1. Tools > Process Browser Observe at the top "(80) Delay Scheduling Process: DelayMicrosecondScheduler>>runTimerEventLoop" This based on the new primitive by Eliot that rolls over every 50,000 years.
2. System > Settings > System > Delay Scheduler - select "DelayMillisecondScheduler"
3. Right-click back in Process Browser, and select [update list]. Observe at the top "(80) Delay Scheduling Process: DelayMillisecondScheduler>>runTimerEventLoop" This is the old primitive that rolls over every 6 days.
Actually not really very exciting to look at ;) - but there you go! I'm glad its integrated. Now we'll see if any corner case bugs shake out of the woodwork.
Note that the option list also includes "DelayScheduler". This is the old scheduler I refactored out from the class side of Delay. This was only kept as-is to smooth this integration step. It essentially became DelayMillisecondScheduler and will be removed from that list to allow some required cleanup to proceed.
In the "super fast delay" thread I'll advise that it is solved.
cheers -ben
On Tue, Mar 10, 2015 at 11:43 PM, Sven Van Caekenberghe <sven@stfx.eu <mailto:sven@stfx.eu>> wrote:
> On 10 Mar 2015, at 16:31, GitHub <noreply@github.com <mailto:noreply@github.com>> wrote: > > Branch: refs/heads/4.0 > Home: https://github.com/pharo-project/pharo-core > Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1 > https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88... > Author: Jenkins Build Server <board@pharo-project.org <mailto:board@pharo-project.org>> > Date: 2015-03-10 (Tue, 10 Mar 2015) > > Changed paths: > M Kernel.package/Delay.class/README.md > R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st > A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st > A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st > A Kernel.package/Delay.class/class/settings/systemSettingOn_.st > M Kernel.package/Delay.class/definition.st <http://definition.st> > R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st > A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st > M Kernel.package/Delay.class/instance/printing/printOn_.st > A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st > A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st > A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st > A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st > A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st > A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st > M Kernel.package/Delay.class/instance/private/setDelay_.st > M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st > M Kernel.package/Delay.class/instance/public/delayDuration.st > A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st > A Kernel.package/DelayMicrosecondScheduler.class/README.md > A Kernel.package/DelayMicrosecondScheduler.class/definition.st <http://definition.st> > A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st > A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st > A Kernel.package/DelayMillisecondScheduler.class/README.md > A Kernel.package/DelayMillisecondScheduler.class/definition.st <http://definition.st> > A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st > A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st > A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st > A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st > A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st > A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st > A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st > A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st > A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st > A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st > A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st > A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st > M Kernel.package/DelayScheduler.class/README.md > M Kernel.package/DelayScheduler.class/instance/class initialization/initialize.st <http://initialize.st> > A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st > M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st > M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st > A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st > A Kernel.package/Duration.class/instance/converting/asMicroseconds.st > A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md > A KernelTests.package/DelayMicrosecondSchedulerTest.class/definition.st <http://definition.st> > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st > A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md > A KernelTests.package/DelayMillisecondSchedulerTest.class/definition.st <http://definition.st> > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st > A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st > R KernelTests.package/DelaySchedulerTest.class/README.md > R KernelTests.package/DelaySchedulerTest.class/definition.st <http://definition.st> > R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st > R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st > R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st > R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st > R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script547.st <http://script547.st> > A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script548.st <http://script548.st> > R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40547.st <http://update40547.st> > A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40548.st <http://update40548.st> > M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st > > Log Message: > ----------- > 40548 > 14353 Delay refactoring (part 2) - change from milliseconds to microseconds > https://pharo.fogbugz.com/f/cases/14353 > > http://files.pharo.org/image/40/40548.zip
a distinctive four-note "short-short-short-long" motif twice ;-)
it seems to work fine, great work Ben !
Sven
In doing some planned cleanup to remove deprecated code that could not be removed before integration, I picked up a couple of glitches. In particular, each subclass needs its own custom #shutdown since the primitives are different. You can see above that #shutdown has been inherited by DelayMicrosecondScheduler. I've corrected that in https://pharo.fogbugz.com/default.asp?15110 - and that may co-incidentally solve the above problem - but I'll dig deeper in parallel with others checking 15110. cheers -ben On Thu, Mar 12, 2015 at 10:34 PM, stepharo <stepharo@free.fr> wrote:
Ben
thanks a lot for your effort! I would love to get a little description of the new architecture.
Stef
YAY!! Thanks Esteban for integration, and Nicolai and Max for code reviews.
To observe the new behaviour:
1. Tools > Process Browser Observe at the top "(80) Delay Scheduling Process: DelayMicrosecondScheduler>>runTimerEventLoop" This based on the new primitive by Eliot that rolls over every 50,000 years.
2. System > Settings > System > Delay Scheduler - select "DelayMillisecondScheduler"
3. Right-click back in Process Browser, and select [update list]. Observe at the top "(80) Delay Scheduling Process: DelayMillisecondScheduler>>runTimerEventLoop" This is the old primitive that rolls over every 6 days.
Actually not really very exciting to look at ;) - but there you go! I'm glad its integrated. Now we'll see if any corner case bugs shake out of the woodwork.
Note that the option list also includes "DelayScheduler". This is the old scheduler I refactored out from the class side of Delay. This was only kept as-is to smooth this integration step. It essentially became DelayMillisecondScheduler and will be removed from that list to allow some required cleanup to proceed.
In the "super fast delay" thread I'll advise that it is solved.
cheers -ben
On Tue, Mar 10, 2015 at 11:43 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 10 Mar 2015, at 16:31, GitHub <noreply@github.com> wrote:
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1
https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88...
Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/ initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
a distinctive four-note "short-short-short-long" motif twice ;-)
it seems to work fine, great work Ben !
Sven
On Thu, Mar 12, 2015 at 10:34 PM, stepharo <stepharo@free.fr> wrote:
Ben
thanks a lot for your effort! I would love to get a little description of the new architecture.
Stef
yes, I'll do this. I'll deliver after we clean up the mess I caused with the CI build. cheers -ben
YAY!! Thanks Esteban for integration, and Nicolai and Max for code reviews.
To observe the new behaviour:
1. Tools > Process Browser Observe at the top "(80) Delay Scheduling Process: DelayMicrosecondScheduler>>runTimerEventLoop" This based on the new primitive by Eliot that rolls over every 50,000 years.
2. System > Settings > System > Delay Scheduler - select "DelayMillisecondScheduler"
3. Right-click back in Process Browser, and select [update list]. Observe at the top "(80) Delay Scheduling Process: DelayMillisecondScheduler>>runTimerEventLoop" This is the old primitive that rolls over every 6 days.
Actually not really very exciting to look at ;) - but there you go! I'm glad its integrated. Now we'll see if any corner case bugs shake out of the woodwork.
Note that the option list also includes "DelayScheduler". This is the old scheduler I refactored out from the class side of Delay. This was only kept as-is to smooth this integration step. It essentially became DelayMillisecondScheduler and will be removed from that list to allow some required cleanup to proceed.
In the "super fast delay" thread I'll advise that it is solved.
cheers -ben
On Tue, Mar 10, 2015 at 11:43 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 10 Mar 2015, at 16:31, GitHub <noreply@github.com> wrote:
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1
https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88...
Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/ initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
a distinctive four-note "short-short-short-long" motif twice ;-)
it seems to work fine, great work Ben !
Sven
I think there is a problem with this update. After saving and exiting the image, I was not able to reuse it. I got this error: Startup Error: Error: Trying to activate Delay twice See attached log for more details. Le 10 mars 2015 à 16:31, GitHub a écrit :
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1 https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88... Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
Ouch, that would be bad. I just saw it too on the image that I saved yesterday. Now I retried with a fresh image and it works. Maybe the image needs to have a certain 'age' ?
On 11 Mar 2015, at 16:47, Christophe Demarey <christophe.demarey@inria.fr> wrote:
I think there is a problem with this update. After saving and exiting the image, I was not able to reuse it. I got this error: Startup Error: Error: Trying to activate Delay twice
See attached log for more details. <PharoDebug.log>
Le 10 mars 2015 à 16:31, GitHub a écrit :
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1 https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88... Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
And there is a build error on jenkins: https://ci.inria.fr/pharo/view/4.0-Analysis/job/Pharo-4.0-Issue-Tracker-Imag... ... ==== Startup Error: MessageNotUnderstood: receiver of "-" is nilUndefinedObject(Object)>>doesNotUnderstand: #- DelayMicrosecondScheduler>>adjust:resumptionTimeOldBase:newBase: DelayMicrosecondScheduler>>saveResumptionTimes DelayMicrosecondScheduler(DelayScheduler)>>shutDown Delay class>>shutDown Delay class(Behavior)>>shutDown: ... Maybe this failing build helps finding the cause. 2015-03-11 16:58 GMT+01:00 Sven Van Caekenberghe <sven@stfx.eu>:
Ouch, that would be bad.
I just saw it too on the image that I saved yesterday.
Now I retried with a fresh image and it works.
Maybe the image needs to have a certain 'age' ?
On 11 Mar 2015, at 16:47, Christophe Demarey < christophe.demarey@inria.fr> wrote:
I think there is a problem with this update. After saving and exiting the image, I was not able to reuse it. I got this error: Startup Error: Error: Trying to activate Delay twice
See attached log for more details. <PharoDebug.log>
Le 10 mars 2015 à 16:31, GitHub a écrit :
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1
https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88...
Author: Jenkins Build Server <board@pharo-project.org> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/ initialize.st A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/ definition.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/ script548.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40547.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/ update40548.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353
this is really serious.. we need a quick fix. https://pharo.fogbugz.com/f/cases/15122/resuming-Delay-failing-under-certain... <https://pharo.fogbugz.com/f/cases/15122/resuming-Delay-failing-under-certain...>
On 12 Mar 2015, at 11:41, Nicolai Hess <nicolaihess@web.de> wrote:
And there is a build error on jenkins:
https://ci.inria.fr/pharo/view/4.0-Analysis/job/Pharo-4.0-Issue-Tracker-Imag... <https://ci.inria.fr/pharo/view/4.0-Analysis/job/Pharo-4.0-Issue-Tracker-Imag...>
... ==== Startup Error: MessageNotUnderstood: receiver of "-" is nil UndefinedObject(Object)>>doesNotUnderstand: #- DelayMicrosecondScheduler>>adjust:resumptionTimeOldBase:newBase: DelayMicrosecondScheduler>>saveResumptionTimes DelayMicrosecondScheduler(DelayScheduler)>>shutDown Delay class>>shutDown Delay class(Behavior)>>shutDown:
...
Maybe this failing build helps finding the cause.
2015-03-11 16:58 GMT+01:00 Sven Van Caekenberghe <sven@stfx.eu <mailto:sven@stfx.eu>>: Ouch, that would be bad.
I just saw it too on the image that I saved yesterday.
Now I retried with a fresh image and it works.
Maybe the image needs to have a certain 'age' ?
On 11 Mar 2015, at 16:47, Christophe Demarey <christophe.demarey@inria.fr <mailto:christophe.demarey@inria.fr>> wrote:
I think there is a problem with this update. After saving and exiting the image, I was not able to reuse it. I got this error: Startup Error: Error: Trying to activate Delay twice
See attached log for more details. <PharoDebug.log>
Le 10 mars 2015 à 16:31, GitHub a écrit :
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core <https://github.com/pharo-project/pharo-core> Commit: bea5e5edece36093f82ab3a8854b61377dfbd0a1 https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88... <https://github.com/pharo-project/pharo-core/commit/bea5e5edece36093f82ab3a88...> Author: Jenkins Build Server <board@pharo-project.org <mailto:board@pharo-project.org>> Date: 2015-03-10 (Tue, 10 Mar 2015)
Changed paths: M Kernel.package/Delay.class/README.md R Kernel.package/Delay.class/class/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass.st A Kernel.package/Delay.class/class/settings/delaySchedulerClass_.st A Kernel.package/Delay.class/class/settings/systemSettingOn_.st M Kernel.package/Delay.class/definition.st <http://definition.st/> R Kernel.package/Delay.class/instance/enable new code/newCodeEnabled.st A Kernel.package/Delay.class/instance/printing/millisecondsToGo.st M Kernel.package/Delay.class/instance/printing/printOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerBeingWaitedOn_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerResumptionTime_.st A Kernel.package/Delay.class/instance/private - scheduler/schedulerSignalWaitingProcess.st A Kernel.package/Delay.class/instance/private - scheduler/scheduler_resumptionTime_.st M Kernel.package/Delay.class/instance/private/setDelay_.st M Kernel.package/Delay.class/instance/private/setDelay_forSemaphore_.st M Kernel.package/Delay.class/instance/public/delayDuration.st A Kernel.package/Delay.class/instance/public/millisecondDelayDuration.st A Kernel.package/DelayMicrosecondScheduler.class/README.md A Kernel.package/DelayMicrosecondScheduler.class/definition.st <http://definition.st/> A Kernel.package/DelayMicrosecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/primitives/primSignal_atUTCMicroseconds_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMicrosecondScheduler.class/instance/snapshotting/startUp.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMicrosecondScheduler.class/instance/timer process/unscheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/README.md A Kernel.package/DelayMillisecondScheduler.class/definition.st <http://definition.st/> A Kernel.package/DelayMillisecondScheduler.class/instance/low priority processes/schedule_.st A Kernel.package/DelayMillisecondScheduler.class/instance/primitives/primSignal_atMilliseconds_.st A Kernel.package/DelayMillisecondScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/adjust_resumptionTimeOldBase_newBase_.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/restoreResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/snapshotting/saveResumptionTimes.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/handleTimerEvent_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/runTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/scheduleDelay_.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/startTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayMillisecondScheduler.class/instance/timer process/unscheduleDelay_.st M Kernel.package/DelayScheduler.class/README.md M Kernel.package/DelayScheduler.class/instance/class initialization/initialize.st <http://initialize.st/> A Kernel.package/DelayScheduler.class/instance/printing/millisecondsUntilResumptionTime_.st M Kernel.package/DelayScheduler.class/instance/testing/nextWakeUpTime.st M Kernel.package/DelayScheduler.class/instance/timer process/stopTimerEventLoop.st A Kernel.package/DelayWaitTimeout.class/instance/signaling/schedulerSignalWaitingProcess.st A Kernel.package/Duration.class/instance/converting/asMicroseconds.st A Kernel.package/MonitorDelay.class/instance/private/schedulerSignalWaitingProcess.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/README.md A KernelTests.package/DelayMicrosecondSchedulerTest.class/definition.st <http://definition.st/> A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMicrosecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st A KernelTests.package/DelayMillisecondSchedulerTest.class/README.md A KernelTests.package/DelayMillisecondSchedulerTest.class/definition.st <http://definition.st/> A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/running/tearDown.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/support/busyWaitMilliseconds_.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationLessThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testDurationMoreThanMaxTicks.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForMilliseconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testForSeconds.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testMillisecondsToGo.st A KernelTests.package/DelayMillisecondSchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R KernelTests.package/DelaySchedulerTest.class/README.md R KernelTests.package/DelaySchedulerTest.class/definition.st <http://definition.st/> R KernelTests.package/DelaySchedulerTest.class/instance/running/tearDown.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickLessThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testMaxTickMoreThanDuration.st R KernelTests.package/DelaySchedulerTest.class/instance/tests/testTestInterferenceWithSystemTimingSemaphore.st R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script547.st <http://script547.st/> A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script548.st <http://script548.st/> R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40547.st <http://update40547.st/> A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40548.st <http://update40548.st/> M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message: ----------- 40548 14353 Delay refactoring (part 2) - change from milliseconds to microseconds https://pharo.fogbugz.com/f/cases/14353 <https://pharo.fogbugz.com/f/cases/14353>
http://files.pharo.org/image/40/40548.zip <http://files.pharo.org/image/40/40548.zip>
participants (7)
-
Ben Coman -
Christophe Demarey -
Esteban Lorenzano -
GitHub -
Nicolai Hess -
stepharo -
Sven Van Caekenberghe