mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
open(2) flags saved for re-opening a virtual file should probably not
include O_CREAT.
This commit is contained in:
parent
503c80d2a0
commit
6cc6f18d15
@ -7,7 +7,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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:
|
* NOTES:
|
||||||
*
|
*
|
||||||
@ -112,7 +112,7 @@ typedef struct vfd
|
|||||||
long seekPos; /* current logical file position */
|
long seekPos; /* current logical file position */
|
||||||
char *fileName; /* name of file, or NULL for unused VFD */
|
char *fileName; /* name of file, or NULL for unused VFD */
|
||||||
/* NB: fileName is malloc'd, and must be free'd when closing the 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) */
|
int fileMode; /* mode to pass to open(2) */
|
||||||
} Vfd;
|
} Vfd;
|
||||||
|
|
||||||
@ -681,8 +681,10 @@ fileNameOpenFile(FileName fileName,
|
|||||||
vfdP->fileName = malloc(strlen(fileName) + 1);
|
vfdP->fileName = malloc(strlen(fileName) + 1);
|
||||||
strcpy(vfdP->fileName, fileName);
|
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->fileMode = fileMode;
|
||||||
|
|
||||||
vfdP->seekPos = 0;
|
vfdP->seekPos = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user