Re: O_DIRECT on macOS - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: O_DIRECT on macOS
Date
Msg-id CA+hUKG+LdNTtPdEBPC=V=nVUMTE5CbVgS_ErpR7JQUs1pB1pKQ@mail.gmail.com
Whole thread Raw
In response to Re: O_DIRECT on macOS  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: O_DIRECT on macOS  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Tue, Jul 20, 2021 at 2:13 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 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

Ok, done.

While I was here again, I couldn't resist trying to extend this to
Solaris, since it looked so easy.  I don't have access, but I tested
on Illumos by undefining O_DIRECT.  Thoughts?

Attachment

pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: OpenSSL 3.0.0 compatibility
Next
From: Tom Lane
Date:
Subject: Re: O_DIRECT on macOS