From b46594da07aa0d93e9d0131777df263185c5bddf Mon Sep 17 00:00:00 2001 From: TotaJ Date: Thu, 29 Apr 2021 16:17:31 +0800 Subject: [PATCH] Fix free dirty_page_queue --- src/gausskernel/storage/access/transam/xlog.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gausskernel/storage/access/transam/xlog.cpp b/src/gausskernel/storage/access/transam/xlog.cpp index db9a6b0d4..7ae1cec49 100644 --- a/src/gausskernel/storage/access/transam/xlog.cpp +++ b/src/gausskernel/storage/access/transam/xlog.cpp @@ -10536,8 +10536,10 @@ void ShutdownXLOG(int code, Datum arg) /* Shutdown all the page writer threads. */ ckpt_shutdown_bgwriter(); ckpt_shutdown_pagewriter(); - free(g_instance.ckpt_cxt_ctl->dirty_page_queue); - g_instance.ckpt_cxt_ctl->dirty_page_queue = NULL; + if (g_instance.ckpt_cxt_ctl->dirty_page_queue != NULL) { + pfree(g_instance.ckpt_cxt_ctl->dirty_page_queue); + g_instance.ckpt_cxt_ctl->dirty_page_queue = NULL; + } g_instance.ckpt_cxt_ctl->prune_queue_lock = NULL; g_instance.ckpt_cxt_ctl->ckpt_redo_state.recovery_queue_lock = NULL;