This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] libstdc++/21286


> the below is what I have prepared with Nathan: basically, in order to
> correctly implement the exact requirements of istream::read also in
> presence of short reads (possible with pipes, f.i.) we need to loop
> until either zero chars are read or error (-1) is returned. I'm punting
> for now on a testcase, since would be very brittle, depending on the
> choice of n, the presence of the data in the cache, and so on, but I can
> guarantee that the issue is fixed, in the radical way ;)

Sounds good. Thanks for documenting this loop! ;)

> Tested x86-linux (also the interactive tests, to be safe, but here we
> are not involving the sync_filebuf and in any case touching only xsgetn,
> *not* underflow)

It would be nice to do a complete transition, and remove these bits as well:

./config/os/newlib/os_defines.h:#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1
./config/os/mingw32/os_defines.h:#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1

Might want to test on cygwin for this change, to make sure 20806 is still fixed.

best,
-benjamin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]