Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Morphic UI process
Last updated at 5:44 pm UTC on 1 May 2019
Each MorphicProject object has a user interface process running it.

The code executed in the process is a loop

 [world doOneCycle.  Processor yield ] repeat.


The process is created when the project is entered. There is a call #spawnNewProcess which creates a new UI process for the project to be entered.


 MorphicProject>>
 spawnNewProcess

	uiProcess := [
		[world doOneCycle.  Processor yield ] repeat.
	] newProcess priority: Processor userSchedulingPriority.
 uiProcess resume


The process is terminated (= set to nil ) when the project is left



 MorphicProject>>
 terminateProcessForLeave
	"There is only one UI process. Kill it."
	
	self assert: Processor activeProcess == uiProcess.
	uiProcess := nil.
	Processor terminateActive.


See also

Use case: 'New MorphicProject'