aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2019-04-17 10:01:22 +0900
committerMichael Paquier <michael@paquier.xyz>2019-04-17 10:01:22 +0900
commit9010156445c420361c2cef9557751c0b8b52644b (patch)
tree818e9d0a08ca21b286914dceb140bfb238040f2b
parent47ac2033d460cefbbda2e39732e18de521dc6a36 (diff)
downloadpostgresql-9010156445c420361c2cef9557751c0b8b52644b.tar.gz
postgresql-9010156445c420361c2cef9557751c0b8b52644b.zip
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.
-rw-r--r--src/backend/replication/slot.c3
1 files changed, 3 insertions, 0 deletions
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)