diff options
author | Thomas Munro <tmunro@postgresql.org> | 2021-07-20 10:49:08 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2021-07-20 11:19:13 +1200 |
commit | 0c08856856f54056ce8db116e9d254fda114c383 (patch) | |
tree | aedb0262beeeb46b3b689fafda9acb46c3f49e69 /src/backend/storage/file/fd.c | |
parent | 0d2cb6b2bbc3327dd002f3ecd4d5bde5851b0cdc (diff) | |
download | postgresql-0c08856856f54056ce8db116e9d254fda114c383.tar.gz postgresql-0c08856856f54056ce8db116e9d254fda114c383.zip |
Don't use #if inside function-like macro arguments.
No concrete problem reported, but in the past it's been known to cause
problems on some compilers so let's avoid doing that.
Reported-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/234364.1626704007%40sss.pgh.pa.us
Diffstat (limited to 'src/backend/storage/file/fd.c')
-rw-r--r-- | src/backend/storage/file/fd.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index abb054ad7f3..5d5e8ae94e0 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -1065,13 +1065,7 @@ tryAgain: */ StaticAssertStmt((PG_O_DIRECT & (O_APPEND | -#if defined(O_CLOEXEC) - O_CLOEXEC | -#endif O_CREAT | -#if defined(O_DSYNC) - O_DSYNC | -#endif O_EXCL | O_RDWR | O_RDONLY | @@ -1079,6 +1073,15 @@ 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); |