[squeak-dev] The Inbox: Morphic-jar.2018.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jul 6 08:20:01 UTC 2022

A new version of Morphic was added to project The Inbox:

==================== Summary ====================

Name: Morphic-jar.2018
Author: jar
Time: 6 July 2022, 10:19:54.175389 am
UUID: 78dd80d9-1174-0c40-ad18-6f76e13e744b
Ancestors: Morphic-mt.2017

Add an "exit condition" to the UI loop to allow a former UI process to finish its last cycle and terminate gracefully. It allows to create a new UI without the need to explicitely terminate the old one because a UI process will terminate automatically once it's replaced by a new one. This change could allow UI proceses blocked on custom semaphores to continue waiting for a signal and finish their previous job (and terminate). Also, it prevents two UI processes to exist at the same time; only the one registered in the 'uiProcess' variable is allowed to cycle.

Please review for any potential drawbacks or conflicts I may have missed.

=============== Diff against Morphic-mt.2017 ===============

Item was changed:
  ----- Method: MorphicProject>>spawnNewProcess (in category 'active process') -----
  	uiProcess := [
+ 		[world doOneCycle. Processor yield. uiProcess isActiveProcess] whileTrue.
- 		[world doOneCycle.  Processor yield ] repeat.
  	] newProcess priority: Processor userSchedulingPriority.
  	uiProcess resume!

More information about the Squeak-dev mailing list