pgsql: Fix errno check based on EINTR in pg_flush_data()

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix errno check based on EINTR in pg_flush_data()
Date: 2026-04-30 09:45:10
Message-ID: E1wINxF-003RgZ-1F@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix errno check based on EINTR in pg_flush_data()

Upon a failure of sync_file_range(), EINTR was checked based on the
returned result of the routine rather than its errno. sync_file_range()
returns -1 on failure, making the check a no-op, invalidating the retry
attempt in this case.

Oversight in 0d369ac65004.

Author: DaeMyung Kang <charsyam(at)gmail(dot)com>
Discussion: https://postgr.es/m/20260429151811.1810874-1-charsyam@gmail.com
Backpatch-through: 16

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/6cb307251c5c6261286c1566496920976640108e

Modified Files
--------------
src/backend/storage/file/fd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2026-04-30 11:11:34 pgsql: Fix double table_close of sequence_rel in copy_sequences().
Previous Message Michael Paquier 2026-04-30 04:12:07 pgsql: Adjust some incorrect *GetDatum() macros