PPS: [FIX][OSProcess][Unix][VMMaker] OSProcessFix-sr v2.0

David T. Lewis lewis at mail.msen.com
Thu Mar 14 00:16:58 UTC 2002


On Wed, Mar 13, 2002 at 02:48:26PM +0100, Bert Freudenberg wrote:
> On Tue, 12 Mar 2002, David T. Lewis wrote:
> 
> This also is discovered by running "UnixProcess runTests". Which also 
> points at a problem with PipeableOSProcess: it is undeclared?
> 
> Actually, CommandShell and IOHandle are undeclared, too. You shouldn't 
> just use the class names in the code but something like 
> "Smalltalk classNamed: 'CommandShell'".
> 
> OIC. These come from the CommandShell changeset. It would be nice to 
> decouple both (as, I guess, you intended).

Yes, this is some cleanup that I still need to do. I did quite a bit of
reorganizing and refactoring this time, and the undeclared references
are left over debris that I did not get around to cleaning up. Sorry
about that. I should have labeled this a "test pilot" release.

> > I think that this is going to be some obscure problem in sqXWindow.c,
> > but it will be a hard bug to find. Whatever the problem is, at least
> > it is repeatable now.
> 
> It is just not a good idea to call shmExit() in the child. 
> 
> Also, you should be using _exit() instead of exit() when exec() failed,
> because the latter calls the atexit functions which harm the running 
> image.

Great, thank you! Help me understand, though: Was the call to shmExit()
destroying the shared memory segment when running with -xshm? I would
have thought that the shared memory segment would stay in place until
the last reference to it went away (in the parent).  My intention was
to make sure the child processes disconnected themselves from the
shared memory before the exec(), but as you can see I never really
tested this much with the -xshm option enabled ;)

> I'll attach a changeset. Do I get a T-Shirt now? :-)

You definitely deserve a T-Shirt for this. Let's see, wasn't Tim making
Squeak T-Shirts a while back? I'll have to go check his web site.

> PS: David: I don't think it is a great idea to start plugin translation in
> the postscript of a changeset. Also, if there was no OSProcessPlugin
> before, inspecting the current process makes little sense.

Yes, you're right. I meant to get rid of that mis-feature.  I do like
putting up the inspector on the current process though. It gives an
idea of what to look at, and it will start working correctly as soon
as the plugin is installed. But perhaps it's confusing for a first
time installation?

Dave




More information about the Squeak-dev mailing list