aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/pg_dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_dump/pg_dump.c')
-rw-r--r--src/bin/pg_dump/pg_dump.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 4545f97a63d..14389bd0d37 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -144,7 +144,6 @@ static int serializable_deferrable = 0;
static void help(const char *progname);
-static void pgdump_cleanup_at_exit(int code, void *arg);
static void setup_connection(Archive *AH, const char *dumpencoding,
char *use_role);
static ArchiveFormat parseArchiveFormat(const char *format, ArchiveMode *mode);
@@ -575,7 +574,9 @@ main(int argc, char **argv)
/* Open the output file */
fout = CreateArchive(filename, archiveFormat, compressLevel, archiveMode);
- on_exit_nicely(pgdump_cleanup_at_exit, fout);
+
+ /* Register the cleanup hook */
+ on_exit_close_archive(fout);
if (fout == NULL)
exit_horribly(NULL, "could not open output file \"%s\" for writing\n", filename);
@@ -837,14 +838,6 @@ help(const char *progname)
}
static void
-pgdump_cleanup_at_exit(int code, void *arg)
-{
- Archive *AH = (Archive *) arg;
-
- DisconnectDatabase(AH);
-}
-
-static void
setup_connection(Archive *AH, const char *dumpencoding, char *use_role)
{
PGconn *conn = GetConnection(AH);