提交 b574dfd7 编写于 作者: S Shengliang Guan

shm

上级 36086393
......@@ -336,6 +336,26 @@ int32_t dmInit(SMgmtWrapper *pWrapper) {
#endif
}
void dmCleanup(SMgmtWrapper *pWrapper) {}
void dmCleanup(SMgmtWrapper *pWrapper) {
SDnodeMgmt *pMgmt = pWrapper->pMgmt;
if (pMgmt == NULL) return;
dmStopWorker(pMgmt);
taosWLockLatch(&pMgmt->latch);
if (pMgmt->pDnodeEps != NULL) {
taosArrayDestroy(pMgmt->pDnodeEps);
pMgmt->pDnodeEps = NULL;
}
if (pMgmt->dnodeHash != NULL) {
taosHashCleanup(pMgmt->dnodeHash);
pMgmt->dnodeHash = NULL;
}
taosWUnLockLatch(&pMgmt->latch);
dInfo("dnode-mgmt is cleaned up");
}
bool dmRequire(SMgmtWrapper *pWrapper) { return true; }
......@@ -15,8 +15,8 @@
#define _DEFAULT_SOURCE
#include "dmWorker.h"
#include "dndWorker.h"
#include "dmHandle.h"
#include "dndWorker.h"
static void *dnodeThreadRoutine(void *param) {
SDnodeMgmt *pMgmt = param;
......@@ -41,11 +41,11 @@ static void *dnodeThreadRoutine(void *param) {
lastStatusTime = curTime;
}
// float monitorInterval = (curTime - lastMonitorTime) / 1000.0f;
// if (monitorInterval >= tsMonitorInterval) {
// dndSendMonitorReport(pDnode);
// lastMonitorTime = curTime;
// }
float monitorInterval = (curTime - lastMonitorTime) / 1000.0f;
if (monitorInterval >= tsMonitorInterval) {
dndSendMonitorReport(pDnode);
lastMonitorTime = curTime;
}
}
}
......@@ -137,30 +137,22 @@ int32_t dmStartWorker(SDnodeMgmt *pMgmt) {
return -1;
}
// pMgmt->threadId = taosCreateThread(dnodeThreadRoutine, pDnode);
// if (pMgmt->threadId == NULL) {
// dError("failed to init dnode thread");
// terrno = TSDB_CODE_OUT_OF_MEMORY;
// return -1;
// }
pMgmt->threadId = taosCreateThread(dnodeThreadRoutine, pMgmt);
if (pMgmt->threadId == NULL) {
dError("failed to init dnode thread");
terrno = TSDB_CODE_OUT_OF_MEMORY;
return -1;
}
return 0;
}
void dmStopWorker(SDnodeMgmt *pMgmt) {
#if 0
SMnodeMgmt *pMgmt = &pDnode->mmgmt;
taosWLockLatch(&pMgmt->latch);
pMgmt->deployed = 0;
taosWUnLockLatch(&pMgmt->latch);
dndCleanupWorker(&pMgmt->mgmtWorker);
dndCleanupWorker(&pMgmt->statusWorker);
while (pMgmt->refCount > 1) {
taosMsleep(10);
if (pMgmt->threadId != NULL) {
taosDestoryThread(pMgmt->threadId);
pMgmt->threadId = NULL;
}
dndCleanupWorker(&pMgmt->readWorker);
dndCleanupWorker(&pMgmt->writeWorker);
dndCleanupWorker(&pMgmt->syncWorker);
#endif
}
......@@ -32,3 +32,8 @@ SMgmtFp mmGetMgmtFp() {
int32_t mmGetUserAuth(SMgmtWrapper *pWrapper, char *user, char *spi, char *encrypt, char *secret, char *ckey) {
return 0;
}
int32_t mmGetMonitorInfo(SDnode *pDnode, SMonClusterInfo *pClusterInfo, SMonVgroupInfo *pVgroupInfo,
SMonGrantInfo *pGrantInfo) {
return 0;
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册