fflush() FILE buffer to descriptor so stat call gets proper size in fseeko.c.
authorBruce Momjian
Tue, 23 Mar 2004 05:26:53 +0000 (05:26 +0000)
committerBruce Momjian
Tue, 23 Mar 2004 05:26:53 +0000 (05:26 +0000)
Fixed problem with pg_dump tar backups.  Only happens on platforms that
use our port/fseeko.c, which is currently BSD/OS and NetBSD.

src/port/fseeko.c

index 9bb8a110bf74d6011f2b4968483c165b49687aff..af35dd67ccae44cc7b233c25708872dc2df130e3 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/port/fseeko.c,v 1.13 2003/11/29 19:52:13 pgsql Exp $
+ *   $PostgreSQL: pgsql/src/port/fseeko.c,v 1.14 2004/03/23 05:26:53 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -68,6 +68,7 @@ fseeko(FILE *stream, off_t offset, int whence)
 #ifdef bsdi
            flockfile(stream);
 #endif
+           fflush(stream); /* force writes to fd for stat() */
            if (fstat(fileno(stream), &filestat) != 0)
                goto failure;
            floc = filestat.st_size;