Ulrich Weber uweber at astaro.com
Thu Jan 7 05:06:14 PST 2010
http://bugs.slony.info/bugzilla/show_bug.cgi?id=52

Signed-off-by: Ulrich Weber <uweber at astaro.com>
---
 src/slon/remote_listen.c |    7 +++++++
 src/slon/remote_worker.c |    5 ++++-
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/slon/remote_listen.c b/src/slon/remote_listen.c
index 6dc466e..58e461b 100644
--- a/src/slon/remote_listen.c
+++ b/src/slon/remote_listen.c
@@ -266,6 +266,7 @@ remoteListenThread_main(void *cdata)
 					 "remoteListenThread_%d: \"%s\" - %s",
 					 node->no_id,
 					 dstring_data(&query1), PQresultErrorMessage(res));
+				dstring_free(&query1);
 				PQclear(res);
 				slon_disconnectdb(conn);
 				free(conn_conninfo);
@@ -278,6 +279,8 @@ remoteListenThread_main(void *cdata)
 
 				continue;
 			}
+			dstring_free(&query1);
+			PQclear(res);
 			rc = db_getLocalNodeId(dbconn);
 			if (rc != node->no_id)
 			{
@@ -340,6 +343,7 @@ remoteListenThread_main(void *cdata)
 			continue;
 		}
 		if (oldpstate != poll_state) { /* Switched states... */
+			dstring_init(&query1);
 			switch (poll_state) {
 			case SLON_POLLSTATE_POLL:
 				slon_log(SLON_DEBUG2, 
@@ -366,6 +370,7 @@ remoteListenThread_main(void *cdata)
 					 "remoteListenThread_%d: \"%s\" - %s",
 					 node->no_id,
 					 dstring_data(&query1), PQresultErrorMessage(res));
+				dstring_free(&query1);
 				PQclear(res);
 				slon_disconnectdb(conn);
 				free(conn_conninfo);
@@ -373,6 +378,8 @@ remoteListenThread_main(void *cdata)
 				conn_conninfo = NULL;
 				continue;
 			}
+			dstring_free(&query1);
+			PQclear(res);
 		}
 
 		/*
diff --git a/src/slon/remote_worker.c b/src/slon/remote_worker.c
index b34d432..75e19d2 100644
--- a/src/slon/remote_worker.c
+++ b/src/slon/remote_worker.c
@@ -1389,6 +1389,7 @@ remoteWorkerThread_main(void *cdata)
 						}
 						rstat = PQresultStatus(res);
 						slon_log (SLON_CONFIG, "DDL success - %s\n", PQresStatus(rstat));
+						PQclear(res);
 					}
 					slon_log(SLON_INFO, "completed DDL script - run ddlScript_complete_int()\n");
 					slon_mkquery(&query1, "select %s.ddlScript_complete_int(%d, %d); ", 
@@ -1484,6 +1485,7 @@ remoteWorkerThread_main(void *cdata)
 	slon_disconnectdb(local_conn);
 	dstring_free(&query1);
 	dstring_free(&query2);
+	dstring_free(&lsquery);
 	free(wd->tab_fqname);
 	free(wd->tab_forward);
 #ifdef SLON_MEMDEBUG
@@ -4916,6 +4918,7 @@ sync_helper(void *cdata)
 		if (provider->helper_status == SLON_WG_EXIT)
 		{
 			dstring_free(&query);
+			dstring_free(&query2);
 			pthread_mutex_unlock(&(provider->helper_lock));
 			pthread_exit(NULL);
 		}
@@ -5307,6 +5310,7 @@ sync_helper(void *cdata)
 
 						log_cmddata = PQgetvalue(res2, 0, 0);
 						largemem = log_cmdsize;
+						PQclear(res2);
 					}
 
 					/*
@@ -5392,7 +5396,6 @@ sync_helper(void *cdata)
 					 */
 					if (largemem > 0)
 					{
-						PQclear(res2);
 						pthread_mutex_lock(&(wd->workdata_lock));
 						wd->workdata_largemem += largemem;
 						if (wd->workdata_largemem >= sync_max_largemem)
-- 
1.6.3.3


--------------000002070101010706020608--


More information about the Slony1-hackers mailing list