This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] RE: Testsuite problem
- From: Zack Weinberg <zack at codesourcery dot com>
- To: Pétur Runólfsson <peturr02 at ru dot is>
- Cc: "Benjamin Kosnik" <bkoz at redhat dot com>, <libstdc++ at gcc dot gnu dot org>, <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 24 Apr 2004 10:25:57 -0700
- Subject: Re: [PATCH] RE: Testsuite problem
- References: <07D05A69A3D0C14FAEA60C3ACE8E5564028D0EB5@mail.ru.is>
Pétur Runólfsson <peturr02@ru.is> writes:
> Zack Weinberg wrote:
>> That is logical, but I don't think it conforms with what the code
>> does. Specifically, if close calls write and write returns an error,
>> I think close returns successfully anyway. Now, that might itself be a
>> bug, or I might've gotten confused with the maze of template functions
>> all calling each other.
>
> Well, when I tried replacing the call to close with a direct call to
> write (see the attached file), write succeeded when the fifo was
> opened with (ios_base::in | ios_base::out), but failed with
> "Broken Pipe" when the fifo was opened with ios_base::out only.
Oh, yuck, you're right. In that case the only way to make this test
reliably test what it's supposed to, will be to introduce a .fdopen()
extension method so that we can provide exactly the right flags to the
open() system call. Which I suspect there's user demand for, anyway,
but it's a 3.5-only thing.
zw