From: Bruce Momjian <bruce@momjian.us>
Date: Sun, 17 Oct 2004 23:53:30 +0000 (+0000)
Subject: Better document win32_open and its ability to allow concurrent
X-Git-Tag: REL8_0_0BETA4~64
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=edb1ba113d767dede2a413ed46fe801a99706611;p=postgresql

Better document win32_open and its ability to allow concurrent
unlink/rename().
---

diff --git a/src/port/dirmod.c b/src/port/dirmod.c
index 5bb53f08c8..6035b81bc5 100644
--- a/src/port/dirmod.c
+++ b/src/port/dirmod.c
@@ -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)
diff --git a/src/port/open.c b/src/port/open.c
index 3304d443c6..34fd95e670 100644
--- a/src/port/open.c
+++ b/src/port/open.c
@@ -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),