shm
This commit is contained in:
parent
afad08d106
commit
68da160004
|
@ -52,11 +52,9 @@ static void dndSetSignalHandle() {
|
||||||
if (!tsMultiProcess) {
|
if (!tsMultiProcess) {
|
||||||
// Set the single process signal
|
// Set the single process signal
|
||||||
} else if (global.ntype == DNODE) {
|
} else if (global.ntype == DNODE) {
|
||||||
// Set the parent process signal
|
|
||||||
// When the child process exits, the parent process receives a signal
|
// When the child process exits, the parent process receives a signal
|
||||||
taosSetSignal(SIGCHLD, dndHandleChild);
|
taosSetSignal(SIGCHLD, dndHandleChild);
|
||||||
} else {
|
} else {
|
||||||
// Set child process signal
|
|
||||||
// When the parent process exits, the child process will receive the SIGKILL signal
|
// When the parent process exits, the child process will receive the SIGKILL signal
|
||||||
prctl(PR_SET_PDEATHSIG, SIGKILL);
|
prctl(PR_SET_PDEATHSIG, SIGKILL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -192,8 +192,11 @@ static int32_t dndRunInParentProcess(SDnode *pDnode) {
|
||||||
SMgmtWrapper *pWrapper = &pDnode->wrappers[n];
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[n];
|
||||||
if (!pWrapper->required) continue;
|
if (!pWrapper->required) continue;
|
||||||
|
|
||||||
dInfo("node:%s, will not start in parent process", pWrapper->name);
|
if (pDnode->ntype == NODE_MAX) {
|
||||||
// exec new node
|
dInfo("node:%s, will be started manually", pWrapper->name);
|
||||||
|
} else {
|
||||||
|
dInfo("node:%s, will pull up the child process through exec", pWrapper->name);
|
||||||
|
}
|
||||||
|
|
||||||
if (taosProcRun(pWrapper->pProc) != 0) {
|
if (taosProcRun(pWrapper->pProc) != 0) {
|
||||||
dError("node:%s, failed to run proc since %s", pWrapper->name, terrstr());
|
dError("node:%s, failed to run proc since %s", pWrapper->name, terrstr());
|
||||||
|
@ -268,7 +271,7 @@ int32_t dndRun(SDnode * pDnode) {
|
||||||
dError("failed to run dnode since %s", terrstr());
|
dError("failed to run dnode since %s", terrstr());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else if (pDnode->ntype == DNODE) {
|
} else if (pDnode->ntype == DNODE || pDnode->ntype == NODE_MAX) {
|
||||||
if (dndRunInParentProcess(pDnode) != 0) {
|
if (dndRunInParentProcess(pDnode) != 0) {
|
||||||
dError("failed to run dnode in parent process since %s", terrstr());
|
dError("failed to run dnode in parent process since %s", terrstr());
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -179,7 +179,7 @@ int32_t dndReadShmFile(SDnode *pDnode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tsMultiProcess || pDnode->ntype == DNODE) {
|
if (!tsMultiProcess || pDnode->ntype == DNODE || pDnode->ntype == DNODE) {
|
||||||
for (ENodeType ntype = DNODE; ntype < NODE_MAX; ++ntype) {
|
for (ENodeType ntype = DNODE; ntype < NODE_MAX; ++ntype) {
|
||||||
SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype];
|
SMgmtWrapper *pWrapper = &pDnode->wrappers[ntype];
|
||||||
if (pWrapper->shm.id >= 0) {
|
if (pWrapper->shm.id >= 0) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ static int32_t dndInitVars(SDnode *pDnode, const SDnodeOpt *pOption) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tsMultiProcess || pDnode->ntype == DNODE) {
|
if (!tsMultiProcess || pDnode->ntype == DNODE || pDnode->ntype == NODE_MAX) {
|
||||||
pDnode->lockfile = dndCheckRunning(pDnode->dataDir);
|
pDnode->lockfile = dndCheckRunning(pDnode->dataDir);
|
||||||
if (pDnode->lockfile == NULL) {
|
if (pDnode->lockfile == NULL) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue