Andreas Raab uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ar.141.mcz==================== Summary ====================
Name: System-ar.141
Author: ar
Time: 4 September 2009, 12:14:07 pm
UUID: 3c699bb1-c168-3b4f-9dd1-857805d75f22
Ancestors: System-ar.140
http://bugs.squeak.org/view.php?id=7321Change Set: M7321_cleanup_offList_senders-nice
Date: 19 April 2009
Author: nice
#offList is OBSOLETED by AtomicProcessSuspend.1.cs
Senders of #offList must be cleaned up
=============== Diff against System-ar.140 ===============
Item was changed:
----- Method: Project class>>interruptName:preemptedProcess: (in category 'utilities') -----
interruptName: labelString preemptedProcess: theInterruptedProcess
"Create a Notifier on the active scheduling process with the given label."
+ | preemptedProcess projectProcess |
- | preemptedProcess projectProcess suspendingList |
Smalltalk isMorphic ifFalse:
[^ ScheduledControllers interruptName: labelString].
ActiveHand ifNotNil:[ActiveHand interrupted].
+ ActiveWorld _ World. "reinstall active globals"
+ ActiveHand _ World primaryHand.
- ActiveWorld := World. "reinstall active globals"
- ActiveHand := World primaryHand.
ActiveHand interrupted. "make sure this one's interrupted too"
+ ActiveEvent _ nil.
- ActiveEvent := nil.
+ projectProcess _ self uiProcess. "we still need the accessor for a while"
+ preemptedProcess _ theInterruptedProcess ifNil: [Processor preemptedProcess].
- projectProcess := self uiProcess. "we still need the accessor for a while"
- preemptedProcess := theInterruptedProcess ifNil: [Processor preemptedProcess].
"Only debug preempted process if its priority is >= projectProcess' priority"
preemptedProcess priority < projectProcess priority ifTrue:[
+ projectProcess suspend.
+ preemptedProcess _ projectProcess.
- (suspendingList := projectProcess suspendingList) == nil
- ifTrue: [projectProcess == Processor activeProcess
- ifTrue: [projectProcess suspend]]
- ifFalse: [suspendingList remove: projectProcess ifAbsent: [].
- projectProcess offList].
- preemptedProcess := projectProcess.
] ifFalse:[
preemptedProcess suspend offList.
].
Debugger openInterrupt: labelString onProcess: preemptedProcess
!