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 0d369ac650.

Author: DaeMyung Kang <charsyam@gmail.com>
Discussion: https://postgr.es/m/20260429151811.1810874-1-charsyam@gmail.com
Backpatch-through: 16
This commit is contained in:
Michael Paquier 2026-04-30 18:44:38 +09:00
parent ac59a90bef
commit 5941e7f092

View file

@ -563,7 +563,7 @@ retry:
{
int elevel;
if (rc == EINTR)
if (errno == EINTR)
goto retry;
/*