Fixing Posix semaphores

Robert Watson rwatson at freebsd.org
Tue Dec 21 16:05:05 PST 2004


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 at fledge.watson.org      Principal Research Scientist, McAfee Research




More information about the freebsd-hackers mailing list