[squeak-dev] The Trunk: Kernel-mt.1009.mcz
Eliot Miranda
eliot.miranda at gmail.com
Sat Apr 2 16:16:05 UTC 2016
Hi Marcel,
> On Apr 2, 2016, at 8:50 AM, commits at source.squeak.org wrote:
>
> Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-mt.1009.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-mt.1009
> Author: mt
> Time: 2 April 2016, 12:23:20.21041 pm
> UUID: bd1b45d5-cb4d-41b0-890b-c8f70de70b1c
> Ancestors: Kernel-ul.1008
>
> Recent CogVMs do not yield preempted processes. Fixes the behavior where "[ [] repeat] fork" could not be interrupted anymore via CMD+. and hence locked the image.
Just to be clear, this is not a VM change. The VM supports either yielding on preemption (the original behaviour) or preemption not yielding (the new, IMO correct, behaviour), based on a flag stored in the image header. So your comment should have read
Squeak 5, as of Kernel-eem.??? does not yield preempted processes. Fixes the behavior where "[ [] repeat] fork" could not be interrupted anymore via CMD+. and hence locked the image.
I'll figure out which version when "away from my phone" ;-)
> =============== Diff against Kernel-ul.1008 ===============
>
> Item was changed:
> ----- Method: ProcessorScheduler>>preemptedProcess (in category 'accessing') -----
> preemptedProcess
> "Return the process that the currently active process just preempted."
> +
> + self activeProcess priority to: 1 by: -1 do: [:priority |
> + (quiescentProcessLists at: priority) ifNotEmpty: [:list |
> + ^ Smalltalk processPreemptionYields
> + ifTrue: [list last]
> + ifFalse: [list first]]].
> + ^ nil
> +
> - | list |
> - activeProcess priority to: 1 by: -1 do:[:priority|
> - list := quiescentProcessLists at: priority.
> - list isEmpty ifFalse:[^list last].
> - ].
> - ^nil
> -
> "Processor preemptedProcess"!
>
>
More information about the Squeak-dev
mailing list
|