Przeglądaj źródła

cleanup connections after errors

Grant Limberg 6 lat temu
rodzic
commit
5b222d0a09
1 zmienionych plików z 5 dodań i 7 usunięć
  1. 5 7
      controller/PostgreSQL.cpp

+ 5 - 7
controller/PostgreSQL.cpp

@@ -1081,7 +1081,7 @@ void PostgreSQL::onlineNotificationThread()
 				if (PQresultStatus(res) != PGRES_COMMAND_OK) {
 					fprintf(stderr, "ERROR: Error on commit (onlineNotificationThread): %s\n", PQresultErrorMessage(res));
 					PQclear(res);
-					PQexec(conn, "ROLLBACK");
+					PQclear(PQexec(conn, "ROLLBACK"));
 					exit(1);
 				}
 				PQclear(res);
@@ -1100,7 +1100,7 @@ void PostgreSQL::onlineNotificationThread()
 		if (PQresultStatus(res) != PGRES_COMMAND_OK) {
 			fprintf(stderr, "ERROR: Error on commit (onlineNotificationThread): %s\n", PQresultErrorMessage(res));
 			PQclear(res);
-			PQexec(conn, "ROLLBACK");
+			PQclear(PQexec(conn, "ROLLBACK"));
 			exit(1);
 		}
 		PQclear(res);
@@ -1181,7 +1181,7 @@ void PostgreSQL::onlineNotificationThread()
 				if (PQresultStatus(res) != PGRES_COMMAND_OK) {
 					fprintf(stderr, "ERROR: Error on Network Status upsert (onlineNotificationThread): %s\n", PQresultErrorMessage(res));
 					PQclear(res);
-					PQexec(conn, "ROLLBACK");
+					PQclear(PQexec(conn, "ROLLBACK"));
 					exit(1);
 				}
 
@@ -1190,7 +1190,7 @@ void PostgreSQL::onlineNotificationThread()
 					if (PQresultStatus(res) != PGRES_COMMAND_OK) {
 						fprintf(stderr, "ERROR: Error on COMMIT (onlineNotificationThread): %s\n" , PQresultErrorMessage(res));
 						PQclear(res);
-						PQexec(conn, "ROLLBACK");
+						PQclear(PQexec(conn, "ROLLBACK"));
 						exit(1);
 					}
 
@@ -1208,7 +1208,7 @@ void PostgreSQL::onlineNotificationThread()
 			if (PQresultStatus(res) != PGRES_COMMAND_OK) {
 				fprintf(stderr, "ERROR: Error on COMMIT (onlineNotificationThread): %s\n", PQresultErrorMessage(res));
 				PQclear(res);
-				PQexec(conn, "ROLLBACK");
+				PQclear(PQexec(conn, "ROLLBACK"));
 				exit(1);
 			}
 		}
@@ -1223,8 +1223,6 @@ void PostgreSQL::onlineNotificationThread()
 			queryBuilder << "NOTIFY controller, '" << networkId << ":" << membersStr << "'";
 			std::string query = queryBuilder.str();
 
-			fprintf(stderr, "%s\n", query.c_str());
-
 			PGresult *res = PQexec(conn,query.c_str());
 			if (PQresultStatus(res) != PGRES_COMMAND_OK) {
 				fprintf(stderr, "ERROR: Error sending NOTIFY: %s\n", PQresultErrorMessage(res));