[squeak-dev] The Trunk: ST80-ar.52.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Sep 6 18:13:30 UTC 2009


Andreas Raab uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-ar.52.mcz

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

Name: ST80-ar.52
Author: ar
Time: 6 September 2009, 11:13:12 am
UUID: f5692589-ffaf-bd4a-a248-9f849ea05687
Ancestors: ST80-ar.51

More offList/suspend cleanup.

=============== Diff against ST80-ar.51 ===============

Item was changed:
  ----- Method: ControlManager>>interruptName:preemptedProcess: (in category 'scheduling') -----
  interruptName: labelString preemptedProcess: theInterruptedProcess
  	"Create a Notifier on the active scheduling process with the given label. Make the Notifier the active controller."
+ 	| newActiveController preemptedProcess |
- 	| suspendingList newActiveController preemptedProcess |
  
  	preemptedProcess := theInterruptedProcess ifNil: [Processor preemptedProcess].
  	preemptedProcess suspend.
  
+ 	"There is something wrong here. We suspend *two* processes, the interrupted
+ 	process and the activeControllerProcess (unless they are the same). How can
+ 	that possibly be right? However, it is what the code did before I added the comment
+ 	(it was merely hidden underneith another pile of code). Someone with more 
+ 	understanding about MVC fix this please."
+ 
+ 	preemptedProcess == activeControllerProcess 
+ 		ifFalse:[activeControllerProcess suspend].
- 	(suspendingList := activeControllerProcess suspendingList) == nil
- 		ifTrue: [activeControllerProcess == Processor activeProcess
- 					ifTrue: [activeControllerProcess suspend]]
- 		ifFalse: [suspendingList remove: activeControllerProcess ifAbsent:[].
- 				activeControllerProcess offList].
  
  	activeController ~~ nil ifTrue: [
  		"Carefully de-emphasis the current window."
  		activeController view topView deEmphasizeForDebugger].
  
  	newActiveController :=
  		(Debugger
  			openInterrupt: labelString
  			onProcess: preemptedProcess) controller.
  	newActiveController centerCursorInView.
  	self activeController: newActiveController.
  !




More information about the Squeak-dev mailing list