diff options
author | unknown <msvensson@neptunus.(none)> | 2005-09-05 22:49:36 +0200 |
---|---|---|
committer | unknown <msvensson@neptunus.(none)> | 2005-09-05 22:49:36 +0200 |
commit | dd45e416895b3d1750f255720c82efbdf1a54100 (patch) | |
tree | d5f43652ad712b85680265585764b6d466022887 /ndb/src/kernel/vm | |
parent | 4c8361f6838d6186f201c3d7705df5748c4ea859 (diff) | |
parent | 8b1751e5c35bbde1af36a104f1cf7b3c2ab4e919 (diff) | |
download | mariadb-git-dd45e416895b3d1750f255720c82efbdf1a54100.tar.gz |
Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
client/mysqltest.c:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/mysqltest.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
ndb/src/kernel/error/ErrorReporter.cpp:
Auto merged
ndb/src/kernel/main.cpp:
Auto merged
ndb/src/kernel/vm/Emulator.cpp:
Auto merged
ndb/src/kernel/vm/Emulator.hpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/tools/ndb_config.cpp:
Auto merged
ndb/tools/restore/consumer_restore.cpp:
Auto merged
mysql-test/t/openssl_1.test:
Manual merge
ndb/include/util/ndb_opts.h:
Manual merge
ndb/tools/Makefile.am:
Manual merge
ndb/tools/restore/restore_main.cpp:
Manual merge
Diffstat (limited to 'ndb/src/kernel/vm')
-rw-r--r-- | ndb/src/kernel/vm/Emulator.cpp | 46 | ||||
-rw-r--r-- | ndb/src/kernel/vm/Emulator.hpp | 3 |
2 files changed, 31 insertions, 18 deletions
diff --git a/ndb/src/kernel/vm/Emulator.cpp b/ndb/src/kernel/vm/Emulator.cpp index f52233fc276..058829e05e2 100644 --- a/ndb/src/kernel/vm/Emulator.cpp +++ b/ndb/src/kernel/vm/Emulator.cpp @@ -39,6 +39,7 @@ extern "C" { extern void (* ndb_new_handler)(); } extern EventLogger g_eventLogger; +extern my_bool opt_core; /** * Declare the global variables @@ -154,6 +155,9 @@ NdbShutdown(NdbShutdownType type, case NST_ErrorHandlerSignal: g_eventLogger.info("Error handler signal %s system", shutting); break; + case NST_ErrorHandlerStartup: + g_eventLogger.info("Error handler startup %s system", shutting); + break; case NST_Restart: g_eventLogger.info("Restarting system"); break; @@ -165,23 +169,25 @@ NdbShutdown(NdbShutdownType type, } const char * exitAbort = 0; -#if defined VM_TRACE && ( ! ( defined NDB_OSE || defined NDB_SOFTOSE) ) - exitAbort = "aborting"; -#else - exitAbort = "exiting"; -#endif + if (opt_core) + exitAbort = "aborting"; + else + exitAbort = "exiting"; if(type == NST_Watchdog){ /** * Very serious, don't attempt to free, just die!! */ g_eventLogger.info("Watchdog shutdown completed - %s", exitAbort); -#if defined VM_TRACE && ( ! ( defined NDB_OSE || defined NDB_SOFTOSE) ) - signal(6, SIG_DFL); - abort(); -#else - exit(-1); -#endif + if (opt_core) + { + signal(6, SIG_DFL); + abort(); + } + else + { + exit(-1); + } } #ifndef NDB_WIN32 @@ -229,13 +235,19 @@ NdbShutdown(NdbShutdownType type, } if(type != NST_Normal && type != NST_Restart){ + // Signal parent that error occured during startup + if (type == NST_ErrorHandlerStartup) + kill(getppid(), SIGUSR1); g_eventLogger.info("Error handler shutdown completed - %s", exitAbort); -#if ( defined VM_TRACE || defined ERROR_INSERT ) && ( ! ( defined NDB_OSE || defined NDB_SOFTOSE) ) - signal(6, SIG_DFL); - abort(); -#else - exit(-1); -#endif + if (opt_core) + { + signal(6, SIG_DFL); + abort(); + } + else + { + exit(-1); + } } /** diff --git a/ndb/src/kernel/vm/Emulator.hpp b/ndb/src/kernel/vm/Emulator.hpp index dba8cb3ab9b..cd194202d85 100644 --- a/ndb/src/kernel/vm/Emulator.hpp +++ b/ndb/src/kernel/vm/Emulator.hpp @@ -83,7 +83,8 @@ enum NdbShutdownType { NST_ErrorHandler, NST_ErrorHandlerSignal, NST_Restart, - NST_ErrorInsert + NST_ErrorInsert, + NST_ErrorHandlerStartup }; enum NdbRestartType { |