Mail Archives: cygwin/2008/03/06/10:27:56
On Mar 6 14:56, Eric Blake wrote:
> Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
>
> >
> > But the flags are not O_RDONLY|O_CREAT. They are O_WRONLY|O_CREAT.
>
> I still think Linux is wrong - t/ is not an existing directory, so you can't
> claim that an attempt was made to open an existing directory with O_WRONLY.
> But I guess it is a bit ambiguous, since if t/ did exist, then opening t/.
> should indeed fail with EISDIR; at any rate, it is certainly more efficient to
> blindly reject O_WRONLY due to the trailing slash without even checking for the
> existence of t.
In our case I added a special case to emit EISDIR, otherwise we would
get ENOENT automatically (that's what STATUS_OBJECT_NAME_INVALID gets
converted to). However, I'm somewhat puzzled that you used that bash
example:
$ : > t/
bash: t/: Is a directory.
If what you said is right, and if I revert the change to fhandler.cc,
we would get a ENOENT in that case, too. And given your arguments,
that should be correct.
Do you agree?
> Maybe it's worth asking the Austin Group for clarification? I already asked
Maybe, but the upcoming 1.5.25 bugfix release will not be affected
by this.
> > Which chapter in the austin doc are you refering to? I can't find
> > this re-wording for some reason.
>
> The rewording for path resolution is in section XBD 4.12 (page 109 in draft 4
> of the 200x spec).
I have only Draft 3 here, but I see what you mean. Nevertheless,
what about the `: > t/' case above?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -