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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

commits-2
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.
  !