Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Dec 2002 07:06:20 -0800
From:      Joe Kelsey <joek@mail.flyingcroc.net>
To:        freebsd-current@freebsd.org
Subject:   Re: Posix Semaphores in -CURRENT
Message-ID:  <3DFDEBEC.4090209@mail.flyingcroc.net>
References:  <3DF8F08E.8050809@mail.flyingcroc.net> <3DFA0771.BDFC87A8@mindspring.com> <3DFA0DAC.2070801@mail.flyingcroc.net> <3DFA1251.C4755C5B@mindspring.com> <3DFA18CC.8090205@mail.flyingcroc.net> <3DFC0464.A72308AC@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
> Joe Kelsey wrote:
> 
>>                /* name must start with a '/' but not contain one. */
>>                if (*name != '/' || len < 2 || index(name + 1, '/') != NULL) {
>>                        free(ret, M_SEM);
>>                        return (EINVAL);
>>                }
>>
>>The comment makes it look like this code allows a 14-character named
>>semaphore which *must* start with a slash and cannot contain embedded
>>slashes.  In other words, it does *not* conform to pathname semantics.
> 
> 
> OK, this is a bug.  The semantics don't conform to POSIX.
...
> I rather imagine the correct thing to do is to root it in the FS,
> and, without a leading '/', treat it as relative to the process
> current directory.
> 
> Basically, this is not a two line fix... it's a lot of work, to
> get a filesystem object to use.

I think that it *is* a two-line fix.  Remove the maximum length (or 
impose a maximum length of MAX_PATHNAMELEN), and simply remove the whole 
'/' checking.  Then, the private namespace correctly emulates posix 
semantics, except for the rooted versus relative stuff, which would be 
*really* hard to do in a private namespace and of questionable value anyway.

/Joe



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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