[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