[Pharo-dev] [squeak-dev] Process>>isSusended

David T. Lewis lewis at mail.msen.com
Fri Feb 19 04:09:00 UTC 2016


On Thu, Feb 18, 2016 at 10:03:47PM -0500, David T. Lewis wrote:
> On Thu, Feb 18, 2016 at 01:22:28PM -0800, Eliot Miranda wrote:
> > Hi All,
> > 
> >    we have a serious misunderstanding in current versions of Squeak's and
> > Pharo's Process>>isSuspended.
> > 
> > Squeak's version reads
> > 
> > isSuspended
> > ^myList isNil
> > 
> > Pharo's reads
> > 
> > isSuspended
> > ^myList isNil or: [ myList isEmpty ]
> > 
> > Process's myList holds the list a process is on when it is not running.
> > There is only one running process at any one time, Processor
> > activeProcess.  The active process's myList is always nil, so Squeak's and
> > Pharo's are both wrong for the active process.
> > 
> > Processor activeProcess isSuspended => true (!!!)
> 
> This was working correctly as of Squeak4.6, but not in Squeak5.0.15113.image.

Correcting myself, the difference in behavior is related to the VM. Using
a Squeak 4.6 image and comparing Cog versus interpreter VM:

Processor activeProcess isSuspended ==> true "Cog"
Processor activeProcess isSuspended ==> false "interpreter VM"

I think there were some process scheduling improvements introduced in Cog, and
maybe the image needs to be adjusted accordingly?

Dave 


More information about the Squeak-dev mailing list