[squeak-dev] Questions about external objects

David T. Lewis lewis at mail.msen.com
Mon Oct 27 02:32:10 UTC 2014


On Sun, Oct 26, 2014 at 12:36:13PM -0400, Bert Freudenberg wrote:
> 
> On 26.10.2014, at 10:32, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> > On Sun, Oct 26, 2014 at 02:06:20AM +0200, Levente Uzonyi wrote:
> >> I've uploaded the new versions of the packages to The Inbox, and moved the 
> >> old ones to The Treated Inbox.
> >> The main difference is that the Semaphore class is not modified, and its 
> >> instances are handled like any other object. There's also a new #cleanUp: 
> >> method which will allow freeing up some memory. And the caches are 
> >> shrinked whenever the external objects are wiped.
> >> Since Semaphores don't know their indexes anymore, the new part of the API 
> >> has also changed.
> >> The following snippet will load the new versions to an up-to-date Trunk 
> >> image:
> >> 
> >> Installer squeakInbox
> >> 	package: 'System-ul.687';
> >> 	package: 'Sound-ul.40';
> >> 	package: 'Kernel-ul.883';
> >> 	package: 'Network-ul.154';
> >> 	package: 'Files-ul.140';
> >> 	install
> >> 
> > 
> > This looks really good to me. I vote for moving it to trunk.
> > 
> > Dave
> 
> Yes, the implementation itself looks good.
> 
> It's just a bit unfortunate that the user code gets even less generic than it was before.
> 

Bert,

Are you referring to user code that calls e.g. newExternalSemaphoreDo: and
receives a semaphore and its index in the external table? This seems quite
reasonable to me, and it reads nicely in the Network, File, and Sound code
that sends it. Meanwhile, existing code such as OSProcess continues to work
without modification.

Dave



More information about the Squeak-dev mailing list