RFC Fix for 9964.cc and 9507.cc on ia64-hpux

Zack Weinberg zack@codesourcery.com
Tue Feb 3 03:29:00 GMT 2004


Richard Henderson <rth@redhat.com> writes:

> On Mon, Feb 02, 2004 at 06:36:08PM -0800, Zack Weinberg wrote:
>> Unfortunately, there may be some other UNIX kernel that objects to
>> opening FIFOs with O_RDWR.  As I said above, there is no way to get
>> fopen() to call open() with just O_WRONLY.  We cannot use an explicit
>> open() and then basic_filebuf::sys_open() because the latter ignores
                   ^ my error: __basic_file::sys_open()
>> ios_base::ate; if this problem exists in real life, we're going to
>> have to add an entry point that does what sys_open() does but honors
>> ios_base::ate.
>
> What about using open+fdopen?

As far as I can tell, __basic_file::sys_open() is the only interface
to fdopen() that libstdc++ has.

ios_base::ate is not handled at the level of __basic_file; it's
handled in basic_filebuf<_CharT, _Traits>::open, and there is no
basic_filebuf wrapper around fdopen().  Perhaps there should be one,
but I wouldn't know how to add it.

zw



More information about the Libstdc++ mailing list