OSDN Git Service

Oops, don't forget to rewind the directory before scanning it to fsync files in CREAT...
authorGreg Stark <stark@mit.edu>
Mon, 22 Feb 2010 00:11:05 +0000 (00:11 +0000)
committerGreg Stark <stark@mit.edu>
Mon, 22 Feb 2010 00:11:05 +0000 (00:11 +0000)
src/port/copydir.c

index f2b150d..43fd935 100644 (file)
@@ -11,7 +11,7 @@
  *     as a service.
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/port/copydir.c,v 1.28 2010/02/15 11:40:49 stark Exp $
+ *       $PostgreSQL: pgsql/src/port/copydir.c,v 1.29 2010/02/22 00:11:05 stark Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -90,10 +90,12 @@ copydir(char *fromdir, char *todir, bool recurse)
                else if (S_ISREG(fst.st_mode))
                        copy_file(fromfile, tofile);
        }
+       Free(xldir);
 
        /*
         * Be paranoid here and fsync all files to ensure we catch problems.
         */
+       AllocateDir(fromdir);
        if (xldir == NULL)
                ereport(ERROR,
                                (errcode_for_file_access(),