On Tue, Oct 4, 2016 at 3:01 PM, Denis Kudriashov <dionisiydk@gmail.com> wrote:
 
Hi

2016-10-04 9:38 GMT+02:00 Holger Freyther <holger@freyther.de>:
Hey,

so apparently I shot myself in the foot and created something like:

[[] repeat] fork.

I tried it on latest Pharo on Mac. And no hang. Image continue working. UI start to be slower.

In Squeak we have disabled processPreemptionYields to restore proper preemption semantics. That's why the above loop prevents the UI process from running.

Before, the VM always forced a process to yield if it was preempted, which made the scheduling non-deterministic. The time slice given to each process was random (whenever a higher-priority process became runnable). It did have the "advantage" of doing an implicit round-robin scheduling if multiple processes had the same priority. I guess that's what you're seeing in Pharo.

Cog supports both schemes via vmParameter 48.

- Bert -