On Mon, 5 Nov 2018 at 20:02, Stephan Eggermont <[email protected]> wrote:

> Ben Coman <[email protected]> wrote:
> > On Fri, 13 Apr 2018 at 13:56, Benoit St-Jean via Pharo-users <
> > [email protected]> wrote:
> >
>
> What is the current status of this? DelaySpinScheduler is default in my
> recent Pharo 7 images and makes my images unusable on Ubuntu 18.04LTS.
>

The refactoring was enabled a month ago. DelaySemaphoreScheduler in the
refactored hierarchy was made default so that DelaySpinScheduler could
remain in place in the old hierarchy .
https://github.com/pharo-project/pharo/blame/development/src/Kernel/Delay.class.st#L90

On discord you mention that DelaySpinScheduler was the default in build
1358.
But with PharoLauncher I just downloaded
"Pharo-7.0.0-alpha.build.1358.sha.f9325e7.arch.32bit"
and for me it shows DelaySemaphoreScheduler is the default.

Evaluating ```Delay delaySchedulerClass```   ==>   "DelaySemaphoreScheduler"
and the process browser shows...
[image: DelayScheduler-build-71358.png]

So I'm curious how DelaySpinScheduler became enabled for you?

cheers -ben


P.S. a case was found where a process running at highestPriority (the same
as the delay scheduling loop)
that called  Delay>>schedule:  twice would lock DelaySpinScheduler - since
the delay scheduling loop would not get an opportunity to process & clear
the transfer-variable "delayToStart".
I'd always worked with the assumption that the delay scheduling loop was
the only process running at highest priority.
DelaySemaphoreScheduler works fine with multiple highestPriority processes,
so it will be the default going forward.

Reply via email to