On Thu, 2008-05-08 at 13:24 -0400, Russ Cox wrote:
> > So I have to allocate 56 bytes (sizeof(Tos) on 386) of space above the  
> > top of stack (before copying argc and argv) and set AX to that  
> > address, correct?
> 
> Yes.  And you need to maintain it. 
> At the very least you need to initialize tos->pid
> and update it on return from rfork.
> 
> > The clone(2) system call in linux allows for creation of child  
> > processes that share address space with its parent, with the exception  
> > of the stack segment. 
> 
> It does?  I don't see that anywhere in the man page.
> 
> Russ

Wouldn't the CLONE_VM flag do this?

CLONE_VM
       If CLONE_VM is set, the calling process and the child  processes
       run in the same memory space.  In particular, memory writes per‐
       formed by the calling process or by the child process  are  also
       visible  in  the other process.  Moreover, any memory mapping or
       unmapping performed with mmap(2) or munmap(2) by  the  child  or
       calling process also affects the other process.

Steven Vormwald


Reply via email to