aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-04-03 02:31:52 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-04-03 02:31:52 +0000
commit6cc6f18d1535bb5301658243b01d35d6b7a01eeb (patch)
treef90fd4fe15b4dfaca14584dd155ee3fa83c223d4 /src
parent503c80d2a0da77686c2549c37a4b0033c5f4a95a (diff)
downloadpostgresql-6cc6f18d1535bb5301658243b01d35d6b7a01eeb.tar.gz
postgresql-6cc6f18d1535bb5301658243b01d35d6b7a01eeb.zip
open(2) flags saved for re-opening a virtual file should probably not
include O_CREAT.
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/file/fd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 137dd769e3f..5967ae18050 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/file/fd.c,v 1.74 2001/03/22 03:59:45 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/file/fd.c,v 1.75 2001/04/03 02:31:52 tgl Exp $
*
* NOTES:
*
@@ -112,7 +112,7 @@ typedef struct vfd
long seekPos; /* current logical file position */
char *fileName; /* name of file, or NULL for unused VFD */
/* NB: fileName is malloc'd, and must be free'd when closing the VFD */
- int fileFlags; /* open(2) flags for opening the file */
+ int fileFlags; /* open(2) flags for (re)opening the file */
int fileMode; /* mode to pass to open(2) */
} Vfd;
@@ -681,8 +681,10 @@ fileNameOpenFile(FileName fileName,
vfdP->fileName = malloc(strlen(fileName) + 1);
strcpy(vfdP->fileName, fileName);
- vfdP->fileFlags = fileFlags & ~(O_TRUNC | O_EXCL);
+ /* Saved flags are adjusted to be OK for re-opening file */
+ vfdP->fileFlags = fileFlags & ~(O_CREAT | O_TRUNC | O_EXCL);
vfdP->fileMode = fileMode;
+
vfdP->seekPos = 0;
/*