Process>>terminate woes

stephane ducasse stephane.ducasse at free.fr
Wed Dec 5 09:33:41 UTC 2007


this talks by itself!
Sounds like this is the way to go.
But I'm only a beginner on concurrency (even if I'm improving slowly).

>> 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