Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 9d9a885

Browse files
committed
optimization: close connection in thread when it`s not needed
1 parent 0d3f145 commit 9d9a885

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/backup.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -672,8 +672,6 @@ do_backup_instance(void)
672672
for (i = 0; i < num_threads; i++)
673673
{
674674
pthread_join(backup_threads[i], NULL);
675-
if (backup_threads_args[i]->thread_backup_conn != NULL)
676-
pgut_disconnect(backup_threads_args[i]->thread_backup_conn);
677675
pg_free(backup_threads_args[i]);
678676
}
679677

@@ -1977,6 +1975,11 @@ backup_files(void *arg)
19771975
else
19781976
elog(LOG, "unexpected file type %d", buf.st_mode);
19791977
}
1978+
1979+
/* Close connection */
1980+
if (arguments->thread_backup_conn)
1981+
pgut_disconnect(arguments->thread_backup_conn);
1982+
19801983
}
19811984

19821985
/*
@@ -2711,7 +2714,9 @@ pg_ptrack_get_block(backup_files_args *arguments,
27112714
{
27122715
arguments->thread_backup_conn = pgut_connect(pgut_dbname);
27132716
}
2714-
arguments->thread_cancel_conn = PQgetCancel(arguments->thread_backup_conn);
2717+
2718+
if (arguments->thread_cancel_conn == NULL)
2719+
arguments->thread_cancel_conn = PQgetCancel(arguments->thread_backup_conn);
27152720

27162721
//elog(LOG, "db %i pg_ptrack_get_block(%i, %i, %u)",dbOid, tblsOid, relOid, blknum);
27172722
res = pgut_execute_parallel(arguments->thread_backup_conn,

0 commit comments

Comments
 (0)