summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice/baseinitsvc
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/initservice/baseinitsvc')
-rw-r--r--src/usr/initservice/baseinitsvc/initservice.C22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/usr/initservice/baseinitsvc/initservice.C b/src/usr/initservice/baseinitsvc/initservice.C
index fb5e1b5da..2b1db6b35 100644
--- a/src/usr/initservice/baseinitsvc/initservice.C
+++ b/src/usr/initservice/baseinitsvc/initservice.C
@@ -261,6 +261,16 @@ errlHndl_t InitService::startTask(
INITSERVICE::BASE_INITSVC_MOD_ID,
INITSERVICE::WAIT_TASK_FAILED,
l_tidretrc, l_childsts, hbSwError);
+
+ // If the task crashed, then the l_childerrl is either NULL or
+ // contains an RC indicating that the issue causing the child
+ // to crash has already been reported. Therefore, reduce the
+ // severity to informational.
+ if ((l_childsts == TASK_STATUS_CRASHED) &&
+ (NULL != l_childerrl))
+ {
+ l_errl->setSev(ERRORLOG::ERRL_SEV_INFORMATIONAL);
+ }
break;
} // endif tidretrc
@@ -380,6 +390,16 @@ errlHndl_t InitService::executeFn(
INITSERVICE::WAIT_FN_FAILED,
l_tidretrc, l_childsts, hbSwError);
+ // If the task crashed, then the l_childerrl is either NULL or
+ // contains an RC indicating that the issue causing the child
+ // to crash has already been reported. Therefore, reduce the
+ // severity to informational.
+ if ((l_childsts == TASK_STATUS_CRASHED) &&
+ (NULL != l_childerrl))
+ {
+ l_errl->setSev(ERRORLOG::ERRL_SEV_INFORMATIONAL);
+ }
+
TRACFCOMP(g_trac_initsvc,
"ERROR : task_wait_tid(0x%x). '%s', l_tidretrc=0x%x, l_childsts=0x%x",
l_tidlnchrc,
@@ -542,7 +562,7 @@ void InitService::init( void *io_ptr )
HWAS::RC_SYSAVAIL_INSUFFICIENT_HW);
l_shutdownStatus = HWAS::RC_SYSAVAIL_INSUFFICIENT_HW;
}
- else
+ else
{
// Set the shutdown status to be the plid to force a TI
l_shutdownStatus = l_errl->plid();
OpenPOWER on IntegriCloud