Date: Fri, 31 Jan 1997 03:38:06 +0100 (MET) From: cracauer@wavehh.hanse.de (Martin Cracauer) To: terry@lambert.org (Terry Lambert) Cc: cracauer@wavehh.hanse.de, rminnich@Sarnoff.COM, freebsd-hackers@FreeBSD.ORG Subject: Re: Using rfork() / threads Message-ID: <9701310238.AA28758@wavehh.hanse.de> In-Reply-To: <199701302345.QAA00636@phaeton.artisoft.com> from "Terry Lambert" at Jan 30, 97 04:45:10 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > > >VM space handling is a little different. If you request VM space sharing, > > >you don't exactly get Vm address space sharing: what you get is instead > > >shared data areas where in normal fork they are copied. More details on > > >request. The effect is what you want, though: shared data areas. > > > > Could you explain a bit more. What exactly is the difference between > > VM space sharing and shared data areas from the process' and the > > kernel perspective? > > The per process open file table points to the same location, for one > (that's actually a biggie). If I open a file in one process, it is > open for both processes. If I close it, it's closed. There is one > fd offset associated with the object -- if one process writes it, > the offset is advanced, and if the other writes it, it's advanced > again. There is a potential race as to who gets to do the write. Sure, so much is clear. But the original comment quoted topmost sounded like there are two sperate concepts called "VM address speace sharing" and "shared data areas", which is the same thing for me. Maybe one the these terms implies that one of them has resources like the descriptor table on board and the other not, but then I never heard of this term usage. Hence my question. Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@wavehh.hanse.de> http://cracauer.cons.org Fax +49 40 522 85 36
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9701310238.AA28758>