Better document win32_open and its ability to allow concurrent
authorBruce Momjian <bruce@momjian.us>
Sun, 17 Oct 2004 23:53:30 +0000 (23:53 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 17 Oct 2004 23:53:30 +0000 (23:53 +0000)
unlink/rename().

src/port/dirmod.c
src/port/open.c

index 5bb53f08c8ed2919d26df4f47165592481d507cf..6035b81bc532793f47e6d736615f580bb7fc70f5 100644 (file)
@@ -10,7 +10,7 @@
  * Win32 (NT, Win2k, XP).  replace() doesn't work on Win95/98/Me.
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/port/dirmod.c,v 1.29 2004/10/17 23:39:22 momjian Exp $
+ *   $PostgreSQL: pgsql/src/port/dirmod.c,v 1.30 2004/10/17 23:53:30 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -68,7 +68,7 @@ pgrename(const char *from, const char *to)
 {
    int         loops = 0;
 
-   /* Is this loop even necessary?  */
+   /* Is this loop even necessary now that we have win32_open()?  */
 #if defined(WIN32) && !defined(__CYGWIN__)
    while (!MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING))
 #endif
@@ -114,7 +114,7 @@ pgunlink(const char *path)
 {
    int         loops = 0;
 
-   /* Is this loop even necessary?  */
+   /* Is this loop even necessary now that we have win32_open()?  */
    while (unlink(path))
    {
        if (errno != EACCES)
index 3304d443c6e20626e9c4b62ac3eb629666d738a5..34fd95e670979c2d22926d30cf2ec9b9154aa0b5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/port/open.c,v 1.4 2004/08/29 05:07:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/port/open.c,v 1.5 2004/10/17 23:53:30 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -71,6 +71,7 @@ win32_open(const char *fileName, int fileFlags,...)
    /* cannot use O_RDONLY, as it == 0 */
                  (fileFlags & O_RDWR) ? (GENERIC_WRITE | GENERIC_READ) :
                 ((fileFlags & O_WRONLY) ? GENERIC_WRITE : GENERIC_READ),
+               /* These flags allow concurrent rename/unlink */
                (FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE),
                        &sa,
                        openFlagsToCreateFileFlags(fileFlags),