Challenge (was: Re: FFI vs. Plugins (was: CCD ..))

David T. Lewis lewis at mail.msen.com
Fri Sep 15 00:10:32 UTC 2000


On Thu, Sep 14, 2000 at 10:49:56AM +0200, Bert Freudenberg wrote:
> On Wed, 13 Sep 2000, David T. Lewis wrote:
> 
> > On Wed, Sep 13, 2000 at 08:16:59PM +0300, Mats Nygren wrote:
> > > 
> > > Or else be able to launch another Squeak process, hand over the image
> > > and then kill the old process, transparently excepting timing.
> > 
> > This can be done with UnixProcess>>restartVirtualMachine, part of the
> > OSProcess package, see http://minnow.cc.gatech.edu/squeak/708.
> 
> Does this really load a recompiled VM? AFAICT from the source it simply
> forks but does not exec() the new VM. This would require forkAndExec -
> although it probably is not possible to "hand over" the image in memory?
>
Oops. How about this:

'From Squeak2.8 of 13 June 2000 [latest update: #2359] on 14 September 2000 at 7:56:44 pm'!

!UnixProcess class methodsFor: 'utility' stamp: 'dtl 9/14/2000 19:56'!
makeVM
	"Rebuild the virtual machine and plugins, assuming that this Squeak
	is running from a home directory in the appropriate place in the
	source code tree. If the build is successful, save the image and
	restart the VM."

	"UnixProcess makeVM"

	| makeProcess |
	makeProcess _ self command: 'make'.
	[makeProcess runState == #running]
		whileTrue: [(Delay forSeconds: 1) wait].
	makeProcess exitStatus == 0
		ifTrue: [self quitAndRestart]
		ifFalse: [self notify: 'incomplete or unsuccessful make']! !





More information about the Squeak-dev mailing list