Date: Tue, 14 Dec 2004 10:11:28 -0800 (PST) From: "Kamal R. Prasad" <kamalpr@yahoo.com> To: Joe Kelsey <joe@zircon.seattle.wa.us> Cc: freebsd-hackers@freebsd.org Subject: Re: Fixing Posix semaphores Message-ID: <20041214181128.97826.qmail@web52708.mail.yahoo.com> In-Reply-To: <1103047196.30309.254.camel@zircon.zircon.seattle.wa.us>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Joe Kelsey <joe@zircon.seattle.wa.us> wrote: > On Tue, 2004-12-14 at 08:08 -0800, Kamal R. Prasad > wrote: > > --- Joe Kelsey <joe@zircon.seattle.wa.us> 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. > > > > From the opengroup website:- > > > > > http://www.opengroup.org/onlinepubs/7990989775/xsh/sem_open.html > > > > "It is unspecified whether the name appears in the > > file system and is visible to functions that take > > pathnames as arguments. " > > > > >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? > > > > > > > You need to allow the user to provide a fully > > qualified pathname as an argument -and if the > > implementation doesn't allow that, that would be a > > BUG. But requiring the supplied name to be a valid > > pathname is not mandated by the std. > > The current implementation FAILS to allow arbitrary > pathnames. The > current implementation arbitrarily restricts the > name to a string of not > more than 14 characters optionally starting with a > slash. This does not > match pathnames on FreeBSD. > > Yes, I agree that the standard does not require > pathnames, but it does > say that the name can match the otherwise > standardized pathname syntax > (at least the POSIX pathname standard). The FreeBSD > implementation > clearly FAILS to allow POSIX pathnames. > Yeah -so the only fix for ensuring compliance is that it allow a POSIX pathname as an argument. Many of the posix requirements are a result of bending backwards to deal with badly designed operating systems. It doesn't mean that doing things their way [in this case coupling the semaphore implementation to the filesystem] can actually improve the OS. > > BTW -how would > > you deal with a diskless workstation running > Freebsd? > > Why does this matter? If the system uses NFS, then > all bets are off. > If the system contains a FreeBSD file system, thenit > works. What other > choice could there ever be? > something like boot from flash/eeprom. I don't know about freebsd as an instance -but many networking devices do use netbsd that way. For the most part, you wouldn't want to create a file on such a system. regards -kamal > /Joe > > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041214181128.97826.qmail>