diff options
Diffstat (limited to 'src/usr/errl')
-rw-r--r-- | src/usr/errl/errlentry.C | 6 | ||||
-rw-r--r-- | src/usr/errl/errlmanager.C | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/usr/errl/errlentry.C b/src/usr/errl/errlentry.C index 972c8b272..c05d10d1d 100644 --- a/src/usr/errl/errlentry.C +++ b/src/usr/errl/errlentry.C @@ -79,7 +79,8 @@ ErrlEntry::ErrlEntry(const errlSeverity_t i_sev, const uint16_t i_reasonCode, const uint64_t i_user1, const uint64_t i_user2, - const bool i_hbSwError ) : + const bool i_hbSwError, + const bool i_hbDump ) : iv_Private( static_cast<compId_t>(i_reasonCode & 0xFF00)), iv_User( i_sev ), // The SRC_ERR_INFO becomes part of the SRC; example, B1 in SRC B180xxxx @@ -88,7 +89,8 @@ ErrlEntry::ErrlEntry(const errlSeverity_t i_sev, iv_termState(TERM_STATE_UNKNOWN), iv_sevFinal(false), iv_skipShowingLog(true), - iv_eselCallhomeInfoEvent(false) + iv_eselCallhomeInfoEvent(false), + iv_doHbDump(i_hbDump) { #ifdef CONFIG_ERRL_ENTRY_TRACE TRACFCOMP( g_trac_errl, ERR_MRK"Error created : PLID=%.8X, RC=%.4X, Mod=%.2X, Userdata=%.16llX %.16llX", plid(), i_reasonCode, i_modId, i_user1, i_user2 ); diff --git a/src/usr/errl/errlmanager.C b/src/usr/errl/errlmanager.C index 724c03a63..24008e7ea 100644 --- a/src/usr/errl/errlmanager.C +++ b/src/usr/errl/errlmanager.C @@ -53,6 +53,7 @@ #include <config.h> #include <functional> #include <hwas/common/deconfigGard.H> +#include <kernel/terminate.H> namespace ERRORLOG { @@ -193,7 +194,7 @@ ErrlManager::~ErrlManager() // Singleton destructor gets run when module gets unloaded. // This errorlog module never gets unloaded. So rather to send a - // message to error log daemon and tell it to shutdow and delete + // message to error log daemon and tell it to shutdown and delete // the queue we will assert here because the destructor never gets // call. assert(0); @@ -736,6 +737,13 @@ void ErrlManager::commitErrLog(errlHndl_t& io_err, compId_t i_committerComp ) //Ask ErrlEntry to check for any special deferred deconfigure callouts io_err->deferredDeconfigure(); + // Is error flagged for doing HB Dump during a shutdown / TI? + if (io_err->getDoHbDump() == true) + { + // Then set flag in TI data + termSetHbDump(); + } + //Offload the error log to the errlog message queue sendErrlogToMessageQueue ( io_err, i_committerComp ); io_err = NULL; |