修复开启备机归档时内存泄漏的bug
This commit is contained in:
@ -3031,6 +3031,8 @@ static void InitArchiveStartPoint()
|
|||||||
pfree(xlog_array);
|
pfree(xlog_array);
|
||||||
xlog_array = NULL;
|
xlog_array = NULL;
|
||||||
}
|
}
|
||||||
|
FreeDir(xldir);
|
||||||
|
xldir = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool CheckXlogNameValid(char* xlog)
|
static bool CheckXlogNameValid(char* xlog)
|
||||||
|
@ -3203,7 +3203,9 @@ static int WalSndLoop(WalSndSendDataCallback send_data)
|
|||||||
XLogRecPtr replayPtr;
|
XLogRecPtr replayPtr;
|
||||||
bool amSync = false;
|
bool amSync = false;
|
||||||
bool got_recptr = false;
|
bool got_recptr = false;
|
||||||
int standby_nums = list_length(SyncRepGetSyncStandbys(&amSync));
|
List* sync_standbys = SyncRepGetSyncStandbys(&amSync);
|
||||||
|
int standby_nums = list_length(sync_standbys);
|
||||||
|
list_free(sync_standbys);
|
||||||
got_recptr = SyncRepGetSyncRecPtr(&receivePtr, &writePtr, &flushPtr, &replayPtr, &amSync, false);
|
got_recptr = SyncRepGetSyncRecPtr(&receivePtr, &writePtr, &flushPtr, &replayPtr, &amSync, false);
|
||||||
if (got_recptr) {
|
if (got_recptr) {
|
||||||
ArchiveXlogOnStandby(flushPtr);
|
ArchiveXlogOnStandby(flushPtr);
|
||||||
|
Reference in New Issue
Block a user