diff options
author | unknown <joreland@mysql.com> | 2004-05-28 09:09:47 +0200 |
---|---|---|
committer | unknown <joreland@mysql.com> | 2004-05-28 09:09:47 +0200 |
commit | fc8e3654fe62f825f48bd8e42f9b0fcc6402b109 (patch) | |
tree | c3080a3487982f96b3e8b08b0f3b663945fa4125 /ndb | |
parent | 36c291181f82f674d69a003943dff232f06b13d1 (diff) | |
download | mariadb-git-fc8e3654fe62f825f48bd8e42f9b0fcc6402b109.tar.gz |
BUg#3910
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
New error insert for ndbrequire
ndb/src/kernel/ndb-main/Main.cpp:
WEXITSTATUS only contains valid value if WIFEXITED
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp | 4 | ||||
-rw-r--r-- | ndb/src/kernel/ndb-main/Main.cpp | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp b/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp index 7eb7f995eb7..694007c8508 100644 --- a/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp +++ b/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp @@ -132,6 +132,10 @@ void Cmvmi::execNDB_TAMPER(Signal* signal) if(ERROR_INSERTED(9998)){ while(true) NdbSleep_SecSleep(1); } + + if(ERROR_INSERTED(9997)){ + ndbrequire(false); + } }//execNDB_TAMPER() void Cmvmi::execSET_LOGLEVELORD(Signal* signal) diff --git a/ndb/src/kernel/ndb-main/Main.cpp b/ndb/src/kernel/ndb-main/Main.cpp index e8014b63d08..961d111f298 100644 --- a/ndb/src/kernel/ndb-main/Main.cpp +++ b/ndb/src/kernel/ndb-main/Main.cpp @@ -93,7 +93,7 @@ NDB_MAIN(ndb_kernel){ catchsigs(true); int status = 0; while(waitpid(child, &status, 0) != child); - if(WIFEXITED(status) || !theConfig->stopOnError()){ + if(WIFEXITED(status)){ switch(WEXITSTATUS(status)){ case NRT_Default: g_eventLogger.info("Angel shutting down"); @@ -117,13 +117,13 @@ NDB_MAIN(ndb_kernel){ globalData.theRestartFlag = perform_start; break; } - g_eventLogger.info("Ndb has terminated (pid %d) restarting", child); - } else { + } else if(theConfig->stopOnError()){ /** * Error shutdown && stopOnError() */ exit(0); } + g_eventLogger.info("Ndb has terminated (pid %d) restarting", child); } g_eventLogger.info("Angel pid: %d ndb pid: %d", getppid(), getpid()); |