From 238df3258dadc4f81ff64690ec274cd52105c67f Mon Sep 17 00:00:00 2001 From: luozihao <1165977584@qq.com> Date: Mon, 14 Mar 2022 11:56:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E9=87=8D?= =?UTF-8?q?=E5=90=AF=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/process/postmaster/pagewriter.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gausskernel/process/postmaster/pagewriter.cpp b/src/gausskernel/process/postmaster/pagewriter.cpp index 5c2cd512d..495e8beba 100755 --- a/src/gausskernel/process/postmaster/pagewriter.cpp +++ b/src/gausskernel/process/postmaster/pagewriter.cpp @@ -1329,7 +1329,7 @@ static bool apply_batch_flush_pages(PageWriterProc* pgwr) static void ckpt_pagewriter_sub_thread_loop() { - uint32 rc; + uint32 rc = 0; uint64 now; uint32 total_flush_pages; uint32 old_running_num; @@ -1352,9 +1352,11 @@ static void ckpt_pagewriter_sub_thread_loop() proc_exit(0); } - /* Wait first */ - rc = WaitLatch(&t_thrd.proc->procLatch, WL_TIMEOUT | WL_LATCH_SET | WL_POSTMASTER_DEATH, - (long)u_sess->attr.attr_storage.pageWriterSleep /* ms */); + if (!t_thrd.pagewriter_cxt.shutdown_requested) { + /* Wait first */ + rc = WaitLatch(&t_thrd.proc->procLatch, WL_TIMEOUT | WL_LATCH_SET | WL_POSTMASTER_DEATH, + (long)u_sess->attr.attr_storage.pageWriterSleep /* ms */); + } if (rc & WL_POSTMASTER_DEATH) { gs_thread_exit(1);