diff --git a/source/dnode/mgmt/implement/src/dmExec.c b/source/dnode/mgmt/implement/src/dmExec.c index bb0206d229..06001028b5 100644 --- a/source/dnode/mgmt/implement/src/dmExec.c +++ b/source/dnode/mgmt/implement/src/dmExec.c @@ -192,15 +192,15 @@ void dmCloseNode(SMgmtWrapper *pWrapper) { dmStopNode(pWrapper); + taosWLockLatch(&pWrapper->latch); + (*pWrapper->fp.closeFp)(pWrapper); + taosWUnLockLatch(&pWrapper->latch); + if (pWrapper->procObj) { taosProcCleanup(pWrapper->procObj); pWrapper->procObj = NULL; } - taosWLockLatch(&pWrapper->latch); - (*pWrapper->fp.closeFp)(pWrapper); - taosWUnLockLatch(&pWrapper->latch); - dInfo("node:%s, has been closed", pWrapper->name); }