On 5/3/05, Brian Mitchell <binary42 / gmail.com> wrote:
> On 5/2/05, Luke Graham <spoooq / gmail.com> wrote:
> > On 5/3/05, Brian Mitchell <binary42 / gmail.com> wrote:
> > > I have an upcoming project that will be on an MMU-less platform
> > > (coldfire) running uClinux. I was possibly going to use ruby but it
> > > seems that I cannot confirm if ruby supports vfork as an
> > > implementation of forking or not. Is it possible at all?
> >
> > You should probably do this in a c extension, you could pass in the execve
> > (or whatever) arg from ruby.
> >
> 
> Sorry I should have been more clear on this.
> 
> My question was: Will ruby still run when fork is not available
> (replacing fork with vfork or cutting out fork). The quick answer is
> no. It will segfault if you add
> 
> #define fork vfork

Agreed, theres no way thats going to work. vfork != fork.

> to ruby and run "fork". Will it still work if I avoid fork in ruby and
> use, like you said, a C extension to vfork for me? (I don't have my
> hardware to run tests on yet).

I dont see why it wouldnt work. You have to abide by the rules of vfork
though, which can be summarised as "nothing but exec or exit", so its
kind of pointless.

> In the end it looks like the answer is no but I am no expert so I
> decided to ask this time around. This was all more of a curiosity. I
> would love to be able to use a slim version of ruby to write higher
> level code along with lower level C extensions. Anyone willing to
> write a patch for me? ;-)
> 
> Thanks,
> Brian.
> 
> 


-- 
spooq