Make safeguard against incorrect flags for fsync more portable.
Tom Lane <tgl@sss.pgh.pa.us>
Make safeguard against incorrect flags for fsync more portable. The existing code assumed that O_RDONLY is defined as 0, but this is not required by POSIX and is not true on GNU Hurd. We can avoid the assumption by relying on O_ACCMODE to mask the fcntl() result. (Hopefully, all supported platforms define that.) Author: Michael Banck <mbanck@gmx.net> Co-authored-by: Samuel Thibault Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/6862e8d1.050a0220.194b8d.76fa@mx.google.com Discussion: https://postgr.es/m/68480868.5d0a0220.1e214d.68a6@mx.google.com Backpatch-through: 13
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/file/fd.c | modified | +8 −11 |
Discussion
- Safeguards against incorrect fd flags for fsync() 16 messages · 2019-10-09 → 2025-06-25
- GNU/Hurd portability patches 54 messages · 2025-06-30 → 2026-02-05