Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Mar 1999 05:29:35 +0000 (GMT)
From:      Brian Feldman <green@unixhelp.org>
To:        Alfred Perlstein <bright@rush.net>
Cc:        "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.9903210528300.97734-100000@zone.syracuse.net>
In-Reply-To: <Pine.BSF.3.96.990320235815.4169C-100000@cygnus.rush.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 21 Mar 1999, Alfred Perlstein wrote:

> On Sat, 20 Mar 1999, John S. Dyson wrote:
> 
> > Michael E. Mercer said:
> > > Hello,
> > > 
> > > This was posted to freebsd-questions with no reply.
> > > I tried this and the child process created a core file.
> > > I also tried the other options and they seem to work.
> > > Just RFPROC and RFMEM DON'T!
> > > 
> > 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).

> 
> thanks,
> -Alfred
> 
> Index: rfork.2
> ===================================================================
> RCS file: /home/ncvs/src/lib/libc/sys/rfork.2,v
> retrieving revision 1.8
> diff -u -r1.8 rfork.2
> --- rfork.2	1999/01/26 02:38:09	1.8
> +++ rfork.2	1999/03/21 04:49:10
> @@ -54,7 +54,8 @@
>  will then inherit all the shared segments the parent process owns. Other segment
>  types will be unaffected.  Subsequent forks by the parent will then
>  propagate the shared data and bss between children.  The stack segment
> -is always split.  May be set only with
> +is not split and must be allocated manually via an assembler subroutine.  
> +May be set only with
>  .Dv RFPROC .
>  .It RFSIGSHARE
>  If set, the kernel will force sharing the sigacts structure between the
> 
> 
> 
> 
> 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.9903210528300.97734-100000>