[Spam?]Re: problem concating (>>) to a large file
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue May 29 19:05:00 GMT 2007
On May 29 15:28, Eric Blake wrote:
> Eric Blake <ebb9 <at> byu.net> writes:
>
> > Somehow, when the file size is huge, cygwin is not properly propogating that
> an
> > O_APPEND bit (0x9 in the flags printed from F_GETFL) means that the initial
> > offset of fd 1 is the end of the file. (And it would be nice if strace would
> > show the initial lseek offset of all inherited fd's when spawning a process).
>
> Actually, there is another cygwin bug. POSIX requires that this assertion
> succeed:
>
> assert (0 == lseek (open("existing", O_WRONLY | O_APPEND), 0, SEEK_CUR));
>
> which is currently not the case on small files. The file position is only
> moved as part of the subsequent write()s.
I fixed both bugs in CVS. It's rather disappointing that
SetFilePointer (handle, 0, NULL, FILE_END);
fails for files > 4Gigs. It's actually required that the offset_high
pointer is a valid pointer to a LONG containing 0. Oh well.
Thanks for the report and the testcase.
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/
More information about the Cygwin
mailing list