Re: [Pharo-dev] Coral is green

2014-05-24 Thread p...@highoctane.be
On Sat, May 24, 2014 at 1:29 AM, David T. Lewis le...@mail.msen.com wrote:

 On Fri, May 23, 2014 at 10:26:54PM +0200, Stephan Eggermont wrote:
  David wrote:
  In any case, the change affects one source file in the VM platform
  sources, so if you can arrange to get that included in the Pharo VM
  builds, that should provide a working VM that you can use for OSProcess
 on
  Pharo.
 
  I noticed that this is only a unix vm change. Should this be working
  already on Mac and Windows?
 

 Definitely not for Windows.

 I'm honestly not sure where we stand on Mac VMs. If the VM is based on the
 unix platform sources, then it will work, otherwise probably not.

 The specific feature that affects the OSProcess tests is the ability to
 support #forkSqueak, which uses a Unix fork() mechanism to start an exact
 copy of the running VM and image with very little memory overhead. This is
 used in the OSProcess test suite in order to set up test cases that deal
 with the interaction of two or more OS processes.

 Think about what is required to ask the VM to pause for a moment, split
 itself in two like an amoeba, and then have both of the VM instances start
 running again as if nothing had happened. That means pausing and restarting
 some signal handlers, pausing the connection to the X display so a new one
 can be created for the second VM process, and restarting the various
 threads
 that were running in the original VM. Most of this was already working for
 Cog. Eliot came up with a way to restart the timer threads for Cog and
 wonder of wonders, that was all it took to get #forkSqueak working on Cog.


It would be terrific to have this working again smoothly on Linux. I am
using CentOS6.


 Dave




Re: [Pharo-dev] Coral is green

2014-05-23 Thread Stephan Eggermont
Thanks, David.

Where do I find a precompiled cog vm with the changes to test with? (preferably 
mac,
but linux will do). build.squeak.org doesn't seem to have a recent green build.

Stephan 


Re: [Pharo-dev] Coral is green

2014-05-23 Thread David T. Lewis
Hi Stephan,

The precompiled Cog VM would need to come from Eliot's site (or follow the
links to Eliot's site from http://squeakvm.org). The build.squeak.org job
is really just me testing the VMMaker code generation, it's not intended
as a source of VMs.

I tested Eliot's change and it works, but I think I was testing it with a
Cog VM that I compiled myself. So I'm not sure if the up to date
precompiled VM is available.

In any case, the change affects one source file in the VM platform
sources, so if you can arrange to get that included in the Pharo VM
builds, that should provide a working VM that you can use for OSProcess on
Pharo.

Dave


 Thanks, David.

 Where do I find a precompiled cog vm with the changes to test with?
 (preferably mac,
 but linux will do). build.squeak.org doesn't seem to have a recent green
 build.

 Stephan





Re: [Pharo-dev] Coral is green

2014-05-23 Thread Stephan Eggermont
Ok, I created a pull request on https://github.com/pharo-project/pharo-vm.
I guess there should be a way to use the diff directly, instead of editing the
file by hand.

Stephan


Re: [Pharo-dev] Coral is green

2014-05-23 Thread Stephan Eggermont
David wrote:
In any case, the change affects one source file in the VM platform 
sources, so if you can arrange to get that included in the Pharo VM 
builds, that should provide a working VM that you can use for OSProcess on 
Pharo. 

I noticed that this is only a unix vm change. Should this be working
already on Mac and Windows?

Stephan



Re: [Pharo-dev] Coral is green

2014-05-23 Thread David T. Lewis
On Fri, May 23, 2014 at 10:26:54PM +0200, Stephan Eggermont wrote:
 David wrote:
 In any case, the change affects one source file in the VM platform 
 sources, so if you can arrange to get that included in the Pharo VM 
 builds, that should provide a working VM that you can use for OSProcess on 
 Pharo. 
 
 I noticed that this is only a unix vm change. Should this be working
 already on Mac and Windows?


Definitely not for Windows.

I'm honestly not sure where we stand on Mac VMs. If the VM is based on the
unix platform sources, then it will work, otherwise probably not.

The specific feature that affects the OSProcess tests is the ability to
support #forkSqueak, which uses a Unix fork() mechanism to start an exact
copy of the running VM and image with very little memory overhead. This is
used in the OSProcess test suite in order to set up test cases that deal
with the interaction of two or more OS processes.

Think about what is required to ask the VM to pause for a moment, split
itself in two like an amoeba, and then have both of the VM instances start
running again as if nothing had happened. That means pausing and restarting
some signal handlers, pausing the connection to the X display so a new one
can be created for the second VM process, and restarting the various threads
that were running in the original VM. Most of this was already working for
Cog. Eliot came up with a way to restart the timer threads for Cog and
wonder of wonders, that was all it took to get #forkSqueak working on Cog.

Dave