diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c index 7ce81125bfe692cdc5b1ea7d63ffa4d3e0b37d9a..d56a4d71ea2e71c5f0237cea1ed34f3fe6feee11 100644 --- a/src/bin/pg_basebackup/receivelog.c +++ b/src/bin/pg_basebackup/receivelog.c @@ -329,6 +329,7 @@ writeTimeLineHistoryFile(char *basedir, TimeLineID tli, char *filename, char *co /* * If we fail to make the file, delete it to release disk space */ + close(fd); unlink(tmppath); errno = save_errno; @@ -339,6 +340,7 @@ writeTimeLineHistoryFile(char *basedir, TimeLineID tli, char *filename, char *co if (fsync(fd) != 0) { + close(fd); fprintf(stderr, _("%s: could not fsync file \"%s\": %s\n"), progname, tmppath, strerror(errno)); return false;