Commit 2b740224 authored by Stephen Frost's avatar Stephen Frost

Fix EXEC BACKEND + Windows builds for group privs

Under EXEC BACKEND we also need to be going through the group privileges
setup since we do support that on Unixy systems, so add that to
SubPostmasterMain().

Under Windows, we need to simply return true from
GetDataDirectoryCreatePerm(), but that wasn't happening due to a missing
 #else clause.

Per buildfarm.
parent c37b3d08
...@@ -4801,6 +4801,14 @@ SubPostmasterMain(int argc, char *argv[]) ...@@ -4801,6 +4801,14 @@ SubPostmasterMain(int argc, char *argv[])
/* Read in remaining GUC variables */ /* Read in remaining GUC variables */
read_nondefault_variables(); read_nondefault_variables();
/*
* Check that the data directory looks valid, which will also check the
* privileges on the data directory and update our umask and file/group
* variables for creating files later. Note: this should really be done
* before we create any files or directories.
*/
checkDataDir();
/* /*
* (re-)read control file, as it contains config. The postmaster will * (re-)read control file, as it contains config. The postmaster will
* already have read this, but this process doesn't know about that. * already have read this, but this process doesn't know about that.
......
...@@ -78,9 +78,14 @@ GetDataDirectoryCreatePerm(const char *dataDir) ...@@ -78,9 +78,14 @@ GetDataDirectoryCreatePerm(const char *dataDir)
/* Set permissions */ /* Set permissions */
SetDataDirectoryCreatePerm(statBuf.st_mode); SetDataDirectoryCreatePerm(statBuf.st_mode);
return true; return true;
#endif /* !defined(WIN32) && !defined(__CYGWIN__) */ #else /* !defined(WIN32) && !defined(__CYGWIN__) */
/*
* On Windows, we don't have anything to do here since they don't have
* Unix-y permissions.
*/
return true;
#endif
} }
......
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