Re: Safeguards against incorrect fd flags for fsync()

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Michael Banck <mbanck@gmx.net>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-06-11T01:09:35Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:
> We don't have a trace of O_ACCMODE in the tree, and POSIX defines it.
> I'm wondering how the buildfarm would react on that, but perhaps
> that's fine on !WIN32.  It's hard to say with all the hosts there, at
> least the CI is OK.

POSIX has required O_ACCMODE in fcntl.h at least since 2008,
if I'm reading things correctly.  So it's probably safe to
depend on this symbol.  Still, I'd like to be closer to having
a working Hurd buildfarm member before we take a portability
risk that would only benefit Hurd.

> Another thing that may be worth considering is if we should remove
> this sanity check.

Nah.

			regards, tom lane



Commits

  1. Make safeguard against incorrect flags for fsync more portable.

  2. Add safeguards for pg_fsync() called with incorrectly-opened fds