Add some debug logging code to AllocateFile's failure path to log the
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 24 Aug 2006 03:15:43 +0000 (03:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 24 Aug 2006 03:15:43 +0000 (03:15 +0000)
specific Windows error code (GetLastError).  This is a hopefully temporary
hack to try to diagnose rare failures.  Magnus Hagander

src/backend/storage/file/fd.c

index 1765d66987c46577c3c6c357a5101f36ffc6f666..04cdd95a699f78fc4cb71b5ade8997929c75f6d3 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.128 2006/05/30 13:04:59 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.129 2006/08/24 03:15:43 tgl Exp $
  *
  * NOTES:
  *
@@ -1278,6 +1278,20 @@ TryAgain:
        errno = save_errno;
    }
 
+   /*
+    * TEMPORARY hack to log the Windows error code on fopen failures,
+    * in hopes of diagnosing some hard-to-reproduce problems.
+    */
+#ifdef WIN32
+   {
+       int         save_errno = errno;
+
+       elog(LOG, "Windows fopen(\"%s\",\"%s\") failed: code %lu, errno %d",
+            name, mode, GetLastError(), save_errno);
+       errno = save_errno;
+   }
+#endif
+
    return NULL;
 }