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