Commit edb1ba11 authored by Bruce Momjian's avatar Bruce Momjian

Better document win32_open and its ability to allow concurrent

unlink/rename().
parent 1311667b
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* Win32 (NT, Win2k, XP). replace() doesn't work on Win95/98/Me. * Win32 (NT, Win2k, XP). replace() doesn't work on Win95/98/Me.
* *
* IDENTIFICATION * 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) ...@@ -68,7 +68,7 @@ pgrename(const char *from, const char *to)
{ {
int loops = 0; int loops = 0;
/* Is this loop even necessary? */ /* Is this loop even necessary now that we have win32_open()? */
#if defined(WIN32) && !defined(__CYGWIN__) #if defined(WIN32) && !defined(__CYGWIN__)
while (!MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING)) while (!MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING))
#endif #endif
...@@ -114,7 +114,7 @@ pgunlink(const char *path) ...@@ -114,7 +114,7 @@ pgunlink(const char *path)
{ {
int loops = 0; int loops = 0;
/* Is this loop even necessary? */ /* Is this loop even necessary now that we have win32_open()? */
while (unlink(path)) while (unlink(path))
{ {
if (errno != EACCES) if (errno != EACCES)
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * 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,...) ...@@ -71,6 +71,7 @@ win32_open(const char *fileName, int fileFlags,...)
/* cannot use O_RDONLY, as it == 0 */ /* cannot use O_RDONLY, as it == 0 */
(fileFlags & O_RDWR) ? (GENERIC_WRITE | GENERIC_READ) : (fileFlags & O_RDWR) ? (GENERIC_WRITE | GENERIC_READ) :
((fileFlags & O_WRONLY) ? 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), (FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE),
&sa, &sa,
openFlagsToCreateFileFlags(fileFlags), openFlagsToCreateFileFlags(fileFlags),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment