Process>>terminate woes
Bert Freudenberg
bert at freudenbergs.de
Tue Dec 4 23:57:36 UTC 2007
On Dec 5, 2007, at 0:43 , Andreas Raab wrote:
> 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).
Sounds like the Right Thing to me.
- Bert -
More information about the Squeak-dev
mailing list
|