Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Mar 1999 14:01:31 +0000 (GMT)
From:      Brian Feldman <green@unixhelp.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Alfred Perlstein <bright@rush.net>, "John S. Dyson" <dyson@iquest.net>, samit@usa.ltindia.com, commiters@FreeBSD.ORG, freebsd-current@FreeBSD.ORG
Subject:   Re: rfork()
Message-ID:  <Pine.BSF.4.05.9903211357250.1144-100000@zone.syracuse.net>
In-Reply-To: <199903210743.XAA09505@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 20 Mar 1999, Matthew Dillon wrote:

> 
> :> > rfork(RFMEM) doesn't easily work from C.  You need to
> :> > create an assembly stub.
> :> > 
> :> > -- 
> :> > John                  | Never try to teach a pig to sing,
> :> > dyson@iquest.net      | it makes one look stupid
> :> > jdyson@nc.com         | and it irritates the pig.
> :> > 
> :> 
> :> I've seen about 6 people ask about this because the manual lies about
> :> what is done.  I asked a while back about it, and John was kind enough
> :> to dig up some code that used rfork to properly split the stack should
> :> I try to dig it up?
> :> 
> :> In the meantime, can someone commit this or suggest something?
> :
> :For the suggest something, you realize that with Richard's VM_STACK code it
> :should be relatively trivial to make this automatic (suggestion: add
> :RFSTACK flag).
> :
> : Brian Feldman					  _ __  ___ ___ ___  
> : green@unixhelp.org			      _ __ ___ | _ ) __|   \ 
> :	     http://www.freebsd.org/	 _ __ ___ ____ | _ \__ \ |) |
> : FreeBSD: The Power to Serve!	   _ __ ___ ____ _____ |___/___/___/ 
> 
>     If the goal is to completely share the address space, which 
>     RFMEM does, you can't split anything, not even the stack.  It
>     sure would be useful if there were a standard clib call adequate
>     for calling rfork() and calling a function in the child w/ a new
>     stack.

Hence the NEW flag RFSTACK. Why would this be a bad thing? This would keep
the old behavior and allow much nicer new behavior. I didn't suggest
changing the old behavior. This would just greatly simplify things so all of
the assembly wouldn't be needed. Hmm... actually... if one were to mmap() a
stack and as soon as the rfork() returned movl newstack,%esp and whatnot,
wouldn't this be a pretty simple solution? 

> 
> 					-Matt
> 					Matthew Dillon 
> 					<dillon@backplane.com>
> 
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
> 

 Brian Feldman					  _ __  ___ ___ ___  
 green@unixhelp.org			      _ __ ___ | _ ) __|   \ 
	     http://www.freebsd.org/	 _ __ ___ ____ | _ \__ \ |) |
 FreeBSD: The Power to Serve!	   _ __ ___ ____ _____ |___/___/___/ 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9903211357250.1144-100000>