[Vm-dev] Stopping a Smalltalk process from lldb/gdb?

Bert Freudenberg bert at freudenbergs.de
Tue Oct 4 13:32:38 UTC 2016

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

> Hi
> 2016-10-04 9:38 GMT+02:00 Holger Freyther <holger at 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 -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20161004/8928ea18/attachment.htm

More information about the Vm-dev mailing list