Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 2004 18:34:19 -0500
From:      David Schultz <das@FreeBSD.ORG>
To:        Joe Kelsey <joe@zircon.seattle.wa.us>
Cc:        Julian Elischer <julian@elischer.org>
Subject:   Re: Fixing Posix semaphores
Message-ID:  <20041213233419.GA52130@VARK.MIT.EDU>
In-Reply-To: <1102977591.30309.203.camel@zircon.zircon.seattle.wa.us>
References:  <1102975803.30309.196.camel@zircon.zircon.seattle.wa.us> <41BE15EE.5060704@elischer.org> <1102977591.30309.203.camel@zircon.zircon.seattle.wa.us>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 13, 2004, Joe Kelsey wrote:
> On Mon, 2004-12-13 at 14:21 -0800, Julian Elischer wrote:
> > 
> > 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?
> > >
> > >I currently run 5.3, but I suppose I could think about running current
> > >at some point in the future.
> > >
> > 
> > I don't think that the spirit is to do what you suggest.
> > I have always interpretted it to be a separate namespace.
> > does the posix "mknod" definition mention how to make a semaphore?
> 
> POSIX does not define or allow use of mknod to create a named semaphore.
> Only sem_open() can create a named semaphore.  The "spirit", as
> implemented in other OS', clearly indicates the use of file system
> names, not the restricted 14-character name used by FreeBSD.  For
> instance, Solaris uses file system names.

Err, I'm pretty sure Solaris uses a separate namespace for
semaphores, and I think Linux does the same.  That's not to say
that I'm opposed to this idea.  However, the implementation you
propose, while aesthetically pleasing, is likely to be much slower
and take a good deal of effort.  Moreover, it doesn't seem that it
would provide any significant additional functionality.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041213233419.GA52130>