From owner-freebsd-hackers Tue Mar 2 6:45:37 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from cygnus.rush.net (cygnus.rush.net [209.45.245.133]) by hub.freebsd.org (Postfix) with ESMTP id 6FEFF14CD1 for ; Tue, 2 Mar 1999 06:43:15 -0800 (PST) (envelope-from bright@cygnus.rush.net) Received: from localhost (bright@localhost) by cygnus.rush.net (8.9.3/8.9.3) with SMTP id JAA00799; Tue, 2 Mar 1999 09:43:10 -0500 (EST) Date: Tue, 2 Mar 1999 09:43:09 -0500 (EST) From: Alfred Perlstein To: Peter Edwards Cc: freebsd-hackers@FreeBSD.ORG, green@unixhelp.org Subject: Re: mmap on /dev/zero In-Reply-To: <36DBE8B5.A612F447@isocor.ie> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, 2 Mar 1999, Peter Edwards wrote: > Hi, > I seem to remember someone a while back suggesting that you could create > shared memory between processes using mmap on /dev/zero, and passing the > open descriptor to other processes (though I might be wrong). > As a result, I thought the following might allow child and parent to > share a mapped region: > > fd = open("/dev/zero", O_RDWR); > fork(); > p = mmap(0, getpagesize(), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); > > A simple test indicated that the two mappings were seperate. (This was > on 2.2.8-RELEASE, if its of any consequence) > > Is this possible to do such sharing through /dev/zero, or do I need to > inherit the mapped region? I'd like to be able to dynamically expand the > shared regions without resorting to using a normal file for the mapping, > or resorting to SysV shared mem. > (If this has been thrashed to death already, sorry, but the -hackers and > -questions archives don't appear to be searchable at the moment) It has. :) You can not do this, you must inherit the shared segment or use SYSV. I do remeber someone trying some evil hack with /proc but i don't know if they were successful... were you Brian Feldman? :) -Alfred > > Cheers, > Peter. > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message