From acf1fe375c587e646392e4c998f27740a861ab92 Mon Sep 17 00:00:00 2001 From: chenzhikai <895543892@qq.com> Date: Wed, 2 Aug 2023 15:51:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8C=E9=9B=86=E7=BE=A4build=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=A4=8D=E5=88=B6=E6=A7=BD=E8=BD=AF=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bin/pg_ctl/pg_build.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/pg_ctl/pg_build.cpp b/src/bin/pg_ctl/pg_build.cpp index f06d36aa3..a84b1c2a3 100755 --- a/src/bin/pg_ctl/pg_build.cpp +++ b/src/bin/pg_ctl/pg_build.cpp @@ -1417,9 +1417,12 @@ static void DeleteSubDataDir(const char* dirname) de_slot->d_name); securec_check_ss_c(nRet, "", ""); if (!rmtree(fullpath, true)) { - pg_log(PG_WARNING, _("failed to remove dir %s,errno=%d.\n"), fullpath, errno); - (void)closedir(dir); - exit(1); + /* enable dss, something in pg_replslot may be a link */ + if (unlink(fullpath) != 0) { + pg_log(PG_WARNING, _("failed to remove dir %s,errno=%d.\n"), fullpath, errno); + (void)closedir(dir); + exit(1); + } } } (void)closedir(dir_slot);