If we fail to rename pg_internal.init into place, delete the useless
authorTom Lane
Tue, 15 Jan 2002 22:33:20 +0000 (22:33 +0000)
committerTom Lane
Tue, 15 Jan 2002 22:33:20 +0000 (22:33 +0000)
temporary file.  This seems to be a known failure mode under Cygwin,
so we might as well expend the extra line of code to be tidy.

src/backend/utils/cache/relcache.c

index 7eab8d73332ed1b81987ee7722ede878608ad1cb..305422024076a4fbd3c5763374e85fcddd295561 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.149 2001/11/05 17:46:30 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.150 2002/01/15 22:33:20 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2978,5 +2978,12 @@ write_irels(void)
     * previously-existing init file.
     */
    if (rename(tempfilename, finalfilename) < 0)
+   {
        elog(NOTICE, "Cannot rename init file %s to %s: %m\n\tContinuing anyway, but there's something wrong.", tempfilename, finalfilename);
+       /*
+        * If we fail, try to clean up the useless temp file; don't bother
+        * to complain if this fails too.
+        */
+       unlink(tempfilename);
+   }
 }