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

shm

上级 36086393
...@@ -336,6 +336,26 @@ int32_t dmInit(SMgmtWrapper *pWrapper) { ...@@ -336,6 +336,26 @@ int32_t dmInit(SMgmtWrapper *pWrapper) {
#endif #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; } bool dmRequire(SMgmtWrapper *pWrapper) { return true; }
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
#define _DEFAULT_SOURCE #define _DEFAULT_SOURCE
#include "dmWorker.h" #include "dmWorker.h"
#include "dndWorker.h"
#include "dmHandle.h" #include "dmHandle.h"
#include "dndWorker.h"
static void *dnodeThreadRoutine(void *param) { static void *dnodeThreadRoutine(void *param) {
SDnodeMgmt *pMgmt = param; SDnodeMgmt *pMgmt = param;
...@@ -41,11 +41,11 @@ static void *dnodeThreadRoutine(void *param) { ...@@ -41,11 +41,11 @@ static void *dnodeThreadRoutine(void *param) {
lastStatusTime = curTime; lastStatusTime = curTime;
} }
// float monitorInterval = (curTime - lastMonitorTime) / 1000.0f; float monitorInterval = (curTime - lastMonitorTime) / 1000.0f;
// if (monitorInterval >= tsMonitorInterval) { if (monitorInterval >= tsMonitorInterval) {
// dndSendMonitorReport(pDnode); dndSendMonitorReport(pDnode);
// lastMonitorTime = curTime; lastMonitorTime = curTime;
// } }
} }
} }
...@@ -137,30 +137,22 @@ int32_t dmStartWorker(SDnodeMgmt *pMgmt) { ...@@ -137,30 +137,22 @@ int32_t dmStartWorker(SDnodeMgmt *pMgmt) {
return -1; return -1;
} }
// pMgmt->threadId = taosCreateThread(dnodeThreadRoutine, pDnode); pMgmt->threadId = taosCreateThread(dnodeThreadRoutine, pMgmt);
// if (pMgmt->threadId == NULL) { if (pMgmt->threadId == NULL) {
// dError("failed to init dnode thread"); dError("failed to init dnode thread");
// terrno = TSDB_CODE_OUT_OF_MEMORY; terrno = TSDB_CODE_OUT_OF_MEMORY;
// return -1; return -1;
// } }
return 0; return 0;
} }
void dmStopWorker(SDnodeMgmt *pMgmt) { void dmStopWorker(SDnodeMgmt *pMgmt) {
#if 0 dndCleanupWorker(&pMgmt->mgmtWorker);
SMnodeMgmt *pMgmt = &pDnode->mmgmt; dndCleanupWorker(&pMgmt->statusWorker);
taosWLockLatch(&pMgmt->latch);
pMgmt->deployed = 0;
taosWUnLockLatch(&pMgmt->latch);
while (pMgmt->refCount > 1) { if (pMgmt->threadId != NULL) {
taosMsleep(10); taosDestoryThread(pMgmt->threadId);
pMgmt->threadId = NULL;
} }
dndCleanupWorker(&pMgmt->readWorker);
dndCleanupWorker(&pMgmt->writeWorker);
dndCleanupWorker(&pMgmt->syncWorker);
#endif
} }
...@@ -32,3 +32,8 @@ SMgmtFp mmGetMgmtFp() { ...@@ -32,3 +32,8 @@ SMgmtFp mmGetMgmtFp() {
int32_t mmGetUserAuth(SMgmtWrapper *pWrapper, char *user, char *spi, char *encrypt, char *secret, char *ckey) { int32_t mmGetUserAuth(SMgmtWrapper *pWrapper, char *user, char *spi, char *encrypt, char *secret, char *ckey) {
return 0; 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.
先完成此消息的编辑!
想要评论请 注册