Re: O_DIRECT on macOS
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Andres Freund <andres@anarazel.de>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-07-19T14:13:27Z
Lists: pgsql-hackers
Thomas Munro <thomas.munro@gmail.com> writes:
> On Mon, Jul 19, 2021 at 4:42 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> prairiedog thinks that Assert is too optimistic about whether all
>> those flags exist.
> Fixed.
Hmm ... we used to have to avoid putting #if constructs in the arguments
of macros (such as StaticAssertStmt). Maybe that's not a thing anymore
with C99, and in any case this whole stanza is fairly platform-specific
so we may not run into a compiler that complains. But my hindbrain wants
to see this done with separate statements, eg
#if defined(O_CLOEXEC)
StaticAssertStmt((PG_O_DIRECT & O_CLOEXEC) == 0,
"PG_O_DIRECT collides with O_CLOEXEC");
#endif
regards, tom lane
Commits
-
Don't use #if inside function-like macro arguments.
- 0c08856856f5 15.0 landed
-
Support direct I/O on macOS.
- 2dbe8905711b 15.0 landed