summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep21/call_host_start_payload.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep21/call_host_start_payload.C')
-rw-r--r--src/usr/isteps/istep21/call_host_start_payload.C8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/usr/isteps/istep21/call_host_start_payload.C b/src/usr/isteps/istep21/call_host_start_payload.C
index 40febc4ac..6178f35f7 100644
--- a/src/usr/isteps/istep21/call_host_start_payload.C
+++ b/src/usr/isteps/istep21/call_host_start_payload.C
@@ -449,6 +449,14 @@ errlHndl_t callShutdown ( uint64_t i_masterInstance,
// Create a task to handle the messages
task_create(ISTEP_21::msg_handler, l_msgQ);
+ // Unregister the AttrRP shutdown handler which synchronizes all
+ // attributes at shutdown, as closing the SBE memory regions below will
+ // cause all DMAs (and thus attribute sync) to fail. Intentionally
+ // ignore the response from unregister. This API will get called on
+ // all nodes.
+ auto pAttrMsgQ = msg_q_resolve(TARGETING::ATTRRP_ATTR_SYNC_MSG_Q);
+ INITSERVICE::unregisterShutdownEvent(pAttrMsgQ);
+
// Tell SBE to Close All Unsecure Memory Regions
err = SBEIO::closeAllUnsecureMemRegions();
if (err)
OpenPOWER on IntegriCloud