Why do we need to call SetFilePointer to each call of apr_file_write()? In
the common case where only threads in a single process write to a file,
calling SetFilePointer is a waste of cycles. If threads from multiple
processes are writing to a file, then we are broken unless the application
explicitly serializes access to apr_file_write()
Index: readwrite.c
===================================================================
RCS file: /home/cvs/apr/file_io/win32/readwrite.c,v
retrieving revision 1.69
diff -u -r1.69 readwrite.c
--- readwrite.c 15 Jul 2002 07:24:34 -0000 1.69
+++ readwrite.c 20 Oct 2002 01:28:57 -0000
@@ -307,9 +307,6 @@
thefile->pOverlapped->Offset = (DWORD)thefile->filePtr;
thefile->pOverlapped->OffsetHigh = (DWORD)(thefile->filePtr >>
32);
}
- else if (!thefile->pipe && thefile->append) {
- SetFilePointer(thefile->filehand, 0, NULL, FILE_END);
- }
if (WriteFile(thefile->filehand, buf, *nbytes, &bwrote,
thefile->pOverlapped)) {
*nbytes = bwrote;