summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/common/targetservice.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/targeting/common/targetservice.C')
-rw-r--r--src/usr/targeting/common/targetservice.C15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/usr/targeting/common/targetservice.C b/src/usr/targeting/common/targetservice.C
index c7f002f87..e3c3dde92 100644
--- a/src/usr/targeting/common/targetservice.C
+++ b/src/usr/targeting/common/targetservice.C
@@ -1793,14 +1793,23 @@ uint32_t TargetService::resetMutexAttributes(const Target* i_pTarget)
for ( uint32_t l_attrIndex = 0; l_attrIndex < l_attrCount; l_attrIndex++)
{
const ATTRIBUTE_ID l_attrId = l_pAttrIds[l_attrIndex];
- for( const auto mutexId : hbMutexAttrIds)
+ for( const auto mutex : hbMutexAttrIds)
{
- if(l_attrId == mutexId)
+ if(l_attrId == mutex.id)
{
mutex_t* l_mutex;
if(i_pTarget->_tryGetHbMutexAttr(l_attrId, l_mutex))
{
- mutex_init(l_mutex);
+#ifdef __HOSTBOOT_MODULE
+ if (mutex.isRecursive)
+ {
+ recursive_mutex_init(l_mutex);
+ }
+ else
+#endif
+ {
+ mutex_init(l_mutex);
+ }
l_numberMutexAttrsReset++;
}
else
OpenPOWER on IntegriCloud