- Timestamp:
- Dec 24, 2020 2:12:03 PM (4 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp
r82968 r87122 134 134 * @param pvKey The owner key. 135 135 * @param SRC_POS The source position. 136 * @param fUniqueClass Whether to create a unique lock validator class for 137 * it or not. 136 138 * @param pszNameFmt Format string for naming the critical section. For 137 139 * statistics and lock validation. 138 140 * @param va Arguments for the format string. 139 141 */ 140 static int pdmR3CritSectInitOne(PVM pVM, PPDMCRITSECTINT pCritSect, void *pvKey, RT_SRC_POS_DECL, 142 static int pdmR3CritSectInitOne(PVM pVM, PPDMCRITSECTINT pCritSect, void *pvKey, RT_SRC_POS_DECL, bool fUniqueClass, 141 143 const char *pszNameFmt, va_list va) 142 144 { … … 161 163 rc = RTLockValidatorRecExclCreate(&pCritSect->Core.pValidatorRec, 162 164 # ifdef RT_LOCK_STRICT_ORDER 163 RTLockValidatorClassForSrcPos(RT_SRC_POS_ARGS, "%s", pszName), 165 fUniqueClass 166 ? RTLockValidatorClassCreateUnique(RT_SRC_POS_ARGS, "%s", pszName) 167 : RTLockValidatorClassForSrcPos(RT_SRC_POS_ARGS, "%s", pszName), 164 168 # else 165 169 NIL_RTLOCKVALCLASS, … … 339 343 va_list va; 340 344 va_start(va, pszNameFmt); 341 int rc = pdmR3CritSectInitOne(pVM, &pCritSect->s, pCritSect, RT_SRC_POS_ARGS, pszNameFmt, va);345 int rc = pdmR3CritSectInitOne(pVM, &pCritSect->s, pCritSect, RT_SRC_POS_ARGS, false /*fUniqueClass*/, pszNameFmt, va); 342 346 va_end(va); 343 347 return rc; … … 389 393 const char *pszNameFmt, va_list va) 390 394 { 391 return pdmR3CritSectInitOne(pVM, &pCritSect->s, pDevIns, RT_SRC_POS_ARGS, pszNameFmt, va);395 return pdmR3CritSectInitOne(pVM, &pCritSect->s, pDevIns, RT_SRC_POS_ARGS, false /*fUniqueClass*/, pszNameFmt, va); 392 396 } 393 397 … … 429 433 va_list va; 430 434 va_start(va, pszNameFmt); 431 int rc = pdmR3CritSectInitOne(pVM, &pCritSect->s, pDevIns, RT_SRC_POS_ARGS, pszNameFmt, va);435 int rc = pdmR3CritSectInitOne(pVM, &pCritSect->s, pDevIns, RT_SRC_POS_ARGS, true /*fUniqueClass*/, pszNameFmt, va); 432 436 if (RT_SUCCESS(rc)) 433 437 pCritSect->s.fAutomaticDefaultCritsect = true; … … 454 458 va_list va; 455 459 va_start(va, pszNameFmt); 456 int rc = pdmR3CritSectInitOne(pVM, &pCritSect->s, pDrvIns, RT_SRC_POS_ARGS, pszNameFmt, va);460 int rc = pdmR3CritSectInitOne(pVM, &pCritSect->s, pDrvIns, RT_SRC_POS_ARGS, false /*fUniqueClass*/, pszNameFmt, va); 457 461 va_end(va); 458 462 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.

