postgres.git / summary / log / commit / refs
commit a1f45f69bbfc4b44c8adb708e4a4f6db65a67a64
Author: Thomas Munro <tmunro@postgresql.org>
Date: Tue Feb 21 20:53:15 2023 +0000
First released in: 16.0
Remove obsolete coding for early macOS.
Commits 04cad8f7 and 0c088568 supported old macOS systems that didn't
define O_CLOEXEC or O_DSYNC yet, but those arrived in macOS releases
10.7 and 10.6 (respectively), which themselves reached EOL around a
decade ago. We've already made use of other POSIX features that early
macOS vintages can't compile (for example commits 623cc673, d2e15083).
A later commit will use O_CLOEXEC on POSIX systems so it would be
strange to pretend here that it's optional, and we might as well give
O_DSYNC the same treatment since the reference is also guarded by a test
for a macOS-specific macro, and we know that current Macs have it.
Discussion: https://postgr.es/m/CA%2BhUKGKb6FsAdQWcRL35KJsftv%2B9zXqQbzwkfRf1i0J2e57%2BhQ%40mail.gmail.com
src/backend/storage/file/fd.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 926d000f2ea..ea690f05c69 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -1025,7 +1025,9 @@ tryAgain:
*/
StaticAssertStmt((PG_O_DIRECT &
(O_APPEND |
+ O_CLOEXEC |
O_CREAT |
+ O_DSYNC |
O_EXCL |
O_RDWR |
O_RDONLY |
@@ -1033,15 +1035,6 @@ tryAgain:
O_TRUNC |
O_WRONLY)) == 0,
"PG_O_DIRECT value collides with standard flag");
-#if defined(O_CLOEXEC)
- StaticAssertStmt((PG_O_DIRECT & O_CLOEXEC) == 0,
- "PG_O_DIRECT value collides with O_CLOEXEC");
-#endif
-#if defined(O_DSYNC)
- StaticAssertStmt((PG_O_DIRECT & O_DSYNC) == 0,
- "PG_O_DIRECT value collides with O_DSYNC");
-#endif
-
fd = open(fileName, fileFlags & ~PG_O_DIRECT, fileMode);
#else
fd = open(fileName, fileFlags, fileMode);
[parent: 8427ce4c379e]