From 9010156445c420361c2cef9557751c0b8b52644b Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 17 Apr 2019 10:01:22 +0900 Subject: [PATCH] Fix thinko introduced by 82a5649 in slot.c When saving a replication slot, failing to close the temporary path used to save the slot information is considered as a failure and reported as such. However the code forgot to leave immediately as other failure paths do. Noticed while looking up at this area of the code for another patch. --- src/backend/replication/slot.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 057c5d7ab2e..55c306e4654 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -1316,10 +1316,13 @@ SaveSlotToPath(ReplicationSlot *slot, const char *dir, int elevel) pgstat_report_wait_end(); if (CloseTransientFile(fd)) + { ereport(elevel, (errcode_for_file_access(), errmsg("could not close file \"%s\": %m", tmppath))); + return; + } /* rename to permanent file, fsync file and directory */ if (rename(tmppath, path) != 0) -- 2.39.5