refactor: node mgmt
This commit is contained in:
parent
65da2ea014
commit
095f6938b7
|
@ -119,7 +119,7 @@ int32_t dmOpenNode(SMgmtWrapper *pWrapper) {
|
||||||
pInput->name = pWrapper->name;
|
pInput->name = pWrapper->name;
|
||||||
pInput->path = pWrapper->path;
|
pInput->path = pWrapper->path;
|
||||||
pInput->msgCb = dmGetMsgcb(pWrapper);
|
pInput->msgCb = dmGetMsgcb(pWrapper);
|
||||||
if (pWrapper->nodeType == DNODE) {
|
if (pWrapper->nodeType == DNODE || pWrapper->procType == DND_PROC_CHILD) {
|
||||||
tmsgSetDefaultMsgCb(&pInput->msgCb);
|
tmsgSetDefaultMsgCb(&pInput->msgCb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,7 +222,12 @@ static int32_t dmOpenNodes(SDnode *pDnode) {
|
||||||
for (EDndNodeType ntype = DNODE; ntype < NODE_END; ++ntype) {
|
for (EDndNodeType ntype = DNODE; ntype < NODE_END; ++ntype) {
|
||||||
SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype];
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype];
|
||||||
if (!pWrapper->required) continue;
|
if (!pWrapper->required) continue;
|
||||||
|
if (ntype == DNODE) {
|
||||||
|
pWrapper->procType = DND_PROC_SINGLE;
|
||||||
|
if (dmOpenNode(pWrapper) != 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if (pDnode->ptype == DND_PROC_CHILD) {
|
if (pDnode->ptype == DND_PROC_CHILD) {
|
||||||
if (pDnode->ntype == ntype) {
|
if (pDnode->ntype == ntype) {
|
||||||
pWrapper->procType = DND_PROC_CHILD;
|
pWrapper->procType = DND_PROC_CHILD;
|
||||||
|
@ -232,25 +237,23 @@ static int32_t dmOpenNodes(SDnode *pDnode) {
|
||||||
} else {
|
} else {
|
||||||
pWrapper->required = false;
|
pWrapper->required = false;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (ntype == DNODE) {
|
|
||||||
pWrapper->procType = DND_PROC_SINGLE;
|
|
||||||
} else {
|
} else {
|
||||||
pWrapper->procType = pDnode->ptype;
|
pWrapper->procType = pDnode->ptype;
|
||||||
}
|
|
||||||
if (dmOpenNode(pWrapper) != 0) {
|
if (dmOpenNode(pWrapper) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dmSetStatus(pDnode, DND_STAT_RUNNING);
|
dmSetStatus(pDnode, DND_STAT_RUNNING);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t dmStartNodes(SDnode *pDnode) {
|
static int32_t dmStartNodes(SDnode *pDnode) {
|
||||||
for (EDndNodeType n = DNODE; n < NODE_END; ++n) {
|
for (EDndNodeType ntype = DNODE; ntype < NODE_END; ++ntype) {
|
||||||
SMgmtWrapper *pWrapper = &pDnode->wrappers[n];
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype];
|
||||||
|
if (ntype == DNODE && (pDnode->ptype == DND_PROC_CHILD || pDnode->ptype == DND_PROC_TEST)) continue;
|
||||||
if (dmStartNode(pWrapper) != 0) {
|
if (dmStartNode(pWrapper) != 0) {
|
||||||
dError("node:%s, failed to start since %s", pWrapper->name, terrstr());
|
dError("node:%s, failed to start since %s", pWrapper->name, terrstr());
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue