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