Date: Wed, 22 Dec 2004 00:01:51 +0000 (GMT) From: Robert Watson <rwatson@freebsd.org> To: Joe Kelsey <joe@zircon.seattle.wa.us> Cc: current@freebsd.org Subject: Re: Fixing Posix semaphores Message-ID: <Pine.NEB.3.96L.1041221235624.62809A-100000@fledge.watson.org> In-Reply-To: <1102975803.30309.196.camel@zircon.zircon.seattle.wa.us>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 13 Dec 2004, Joe Kelsey wrote: > I have a desire to fix posix semaphores in at least 5.3. The current > implementation doesn't actually follow the "spirit" of the standard, > even though it technically qualifies in a somewhat degraded sense. I > refer to the fact that the current implementation treats posix > semaphores as completely contained inside the kernel and essentially > divorced from the filesystem. The true "spirit" of the standard places > the semaphores directly in the file system, similar to named pipes. > However the current implementation treats the supplied "name" as a > 14-character identifier, required to begin with a slash and contain no > other slashes. Pretty weak. > > Well, in order to fix this, we need to add file system code and come up > with a new type. I currently have some time to spend on something like > this and am willing to put in whatever effort it takes. Does anyone > want to add their own ideas or requirements? >From my perspective, the biggest win here is that it would permit different name spaces to trivially exist using multiple mountpoints of a "semfs". This would make it easy to allow applications in different jails to use identical names without colliding. FWIW, my only experience with POSIX semaphores on a system other than FreeBSD is on Darwin, where a similar model is used to that on FreeBSD: a flat kernel-maintained name space is present. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1041221235624.62809A-100000>