Process>>terminate woes
Andreas Raab
andreas.raab at gmx.de
Tue Dec 4 23:43:32 UTC 2007
Andreas Raab wrote:
> I wouldn't call what I'm proposing a "dirty hack" - it's rather what I
> think primitiveSuspend really *ought* to do. The primitive is (and
> always was in my understanding) incomplete in this respect.
BTW, to emphasize this aspect have a look at the senders of
#suspendingList. For example, ControlManager>>interruptName: does this
(suspendingList := activeControllerProcess suspendingList) == nil
ifTrue: [activeControllerProcess == Processor activeProcess
ifTrue: [activeControllerProcess suspend]]
ifFalse: [suspendingList remove: activeControllerProcess ifAbsent:[].
activeControllerProcess offList].
With the proposed change to #primitiveSuspend this becomes merely:
activeControllerProcess suspend.
(which is obviously the intended and correct way of doing things). Other
places that get cleaned up with the modification include for example
Process>>suspend (which becomes merely a call to #primitiveSuspend) and
Project class>>interruptName: (and probably some others).
Cheers,
-Andreas
More information about the Squeak-dev
mailing list
|