Date: Wed, 22 Jan 2003 23:31:44 -0500 (EST) From: Garrett Wollman <wollman@lcs.mit.edu> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: <arch@FreeBSD.ORG> Subject: Re: getsysfd() patch #1 (Re: Virtual memory question) Message-ID: <200301230431.h0N4ViJ6045184@khavrinen.lcs.mit.edu> In-Reply-To: <200301230416.h0N4GnRv017989@apollo.backplane.com> References: <20030122173229.D46974-100000@mail.chesapeake.net> <200301222249.h0MMn9e5016697@apollo.backplane.com> <200301222323.h0MNN7co043532@khavrinen.lcs.mit.edu> <200301230259.h0N2xt9R017635@apollo.backplane.com> <200301230343.h0N3hfXt044969@khavrinen.lcs.mit.edu> <200301230416.h0N4GnRv017989@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
<<On Wed, 22 Jan 2003 20:16:49 -0800 (PST), Matthew Dillon <dillon@apollo.backplane.com> said: > (1) We don't have the kernel infrastructure to support it without a lot > of hacks. i.e. we need a file-descriptor based vector array for > high level descriptor based system calls in order to implement > shm_open() properly in the kernel if we want to have any hope of > keeping it compatible, or growing its compatibility, with other > implementations. You'd need to do that for any implementation of shared memory attached to file descriptors; it's not a unique problem. > (2) You are talking about a fairly complex API in its full glory. In > its full glory shm_open() needs to deal with both private and public > name spaces. No, it doesn't. shm_open() knows nothing of `both private and public name spaces'. The interpretation of the name of a shared memory object is entirely left up to the implementation; the only requirement is that all opens of "/foo" without an intervening unlink("/foo") refer to the same object. *No other semantics are specified.* The implementation is free to do anything it wishes with the names -- including what the current file-backed implementation does (which, you will note, has no `private name space'). > As has been already discussed, some of the aspects of shm_open() do not > lend themselves well to kernel implementation -- namely the private > namespace support. Again, there is no such thing as `private namespace support' in shm_open() or any other POSIX IPC interface. You are reading something into the standard that is simply not there. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301230431.h0N4ViJ6045184>