[squeak-dev] User interrupt does not always break UI process

Eliot Miranda eliot.miranda at gmail.com
Fri Jun 24 18:17:28 UTC 2011


On Thu, Jun 23, 2011 at 7:26 AM, Bert Freudenberg <bert at freudenbergs.de>wrote:

> I often get the Finalization process when I press Cmd-.
>
> Usually I want the UI process. But it should be possible to break into a
> higher-level one too, if it takes much time. Not sure if this could be made
> more intelligent?
>

Seems to me that the code could check if the interrupted process was one of
the system processes not to be interrupted then a different process could be
chosen to interrupt. The list of processes in ProcessBrowser
class>>registerWellKnownProcesses already has an allowStop accessor that
seems to capture the desired intent.

So let's say that at least some of the list of well known processes gets
moved to ProcessorScheduler and is consulted by
ProcessorScheduler>>preemptedProcess to filter-out processes that should not
be stopped by the user interrupt.

Bert, I could take a tilt at this and at the same time add the Qwaq code for
the Cog VM's processpreemptionYields switch, which makes the VM behave like
the VisualWorks VM such that preempting a process doesn't put it to the back
of its run queue (an implicit yield) which is a much safer scheduling policy
than the blue books.  And note that this is optional, but if in effect it
does mean that preemptedProcess should interrupt the /first/ process on the
relevant runnable list, not the /last/ :)

- Bert -

-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20110624/a5f9ba78/attachment.htm


More information about the Squeak-dev mailing list