VirtualBox

Changeset 25831 in vbox for trunk/src/VBox/Runtime/r3/posix


Ignore:
Timestamp:
Jan 14, 2010 3:12:53 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56611
Message:

iprt/lockvalidation: give better names to anonymous locks

Location:
trunk/src/VBox/Runtime/r3/posix
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r3/posix/semevent-posix.cpp

    r25724 r25831  
    139139                        ASMAtomicXchgU32(&pThis->cWaiters, 0);
    140140#ifdef RTSEMEVENT_STRICT
    141                         va_list va;
    142                         va_start(va, pszNameFmt);
    143                         RTLockValidatorRecSharedInitV(&pThis->Signallers, hClass, RTLOCKVAL_SUB_CLASS_ANY, pThis,
    144                                                       true /*fSignaller*/, !(fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL),
    145                                                       pszNameFmt, va);
    146                         va_end(va);
     141                        if (!pszNameFmt)
     142                        {
     143                            static uint32_t volatile s_iSemEventAnon = 0;
     144                            RTLockValidatorRecSharedInit(&pThis->Signallers, hClass, RTLOCKVAL_SUB_CLASS_ANY, pThis,
     145                                                         true /*fSignaller*/, !(fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL),
     146                                                         "RTSemEvent-%u", ASMAtomicIncU32(&s_iSemEventAnon) - 1);
     147                        }
     148                        else
     149                        {
     150                            va_list va;
     151                            va_start(va, pszNameFmt);
     152                            RTLockValidatorRecSharedInitV(&pThis->Signallers, hClass, RTLOCKVAL_SUB_CLASS_ANY, pThis,
     153                                                          true /*fSignaller*/, !(fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL),
     154                                                          pszNameFmt, va);
     155                            va_end(va);
     156                        }
    147157                        pThis->fEverHadSignallers = false;
    148158#endif
  • trunk/src/VBox/Runtime/r3/posix/semeventmulti-posix.cpp

    r25724 r25831  
    130130                        ASMAtomicXchgU32(&pThis->cWaiters, 0);
    131131#ifdef RTSEMEVENTMULTI_STRICT
    132                         va_list va;
    133                         va_start(va, pszNameFmt);
    134                         RTLockValidatorRecSharedInitV(&pThis->Signallers, hClass, RTLOCKVAL_SUB_CLASS_ANY, pThis,
    135                                                       true /*fSignaller*/, !(fFlags & RTSEMEVENTMULTI_FLAGS_NO_LOCK_VAL),
    136                                                       pszNameFmt, va);
    137                         va_end(va);
     132                        if (!pszNameFmt)
     133                        {
     134                            static uint32_t volatile s_iSemEventMultiAnon = 0;
     135                            RTLockValidatorRecSharedInit(&pThis->Signallers, hClass, RTLOCKVAL_SUB_CLASS_ANY, pThis,
     136                                                         true /*fSignaller*/, !(fFlags & RTSEMEVENTMULTI_FLAGS_NO_LOCK_VAL),
     137                                                         "RTSemEventMulti-%u", ASMAtomicIncU32(&s_iSemEventMultiAnon) - 1);
     138                        }
     139                        else
     140                        {
     141                            va_list va;
     142                            va_start(va, pszNameFmt);
     143                            RTLockValidatorRecSharedInitV(&pThis->Signallers, hClass, RTLOCKVAL_SUB_CLASS_ANY, pThis,
     144                                                          true /*fSignaller*/, !(fFlags & RTSEMEVENTMULTI_FLAGS_NO_LOCK_VAL),
     145                                                          pszNameFmt, va);
     146                            va_end(va);
     147                        }
    138148                        pThis->fEverHadSignallers = false;
    139149#endif
  • trunk/src/VBox/Runtime/r3/posix/semmutex-posix.cpp

    r25724 r25831  
    106106                pThis->u32Magic = RTSEMMUTEX_MAGIC;
    107107#ifdef RTSEMMUTEX_STRICT
    108                 va_list va;
    109                 va_start(va, pszNameFmt);
    110                 RTLockValidatorRecExclInitV(&pThis->ValidatorRec, hClass, uSubClass, pThis,
    111                                             !(fFlags & RTSEMMUTEX_FLAGS_NO_LOCK_VAL), pszNameFmt, va);
    112                 va_end(va);
     108                if (!pszNameFmt)
     109                {
     110                    static uint32_t volatile s_iMutexAnon = 0;
     111                    RTLockValidatorRecExclInit(&pThis->ValidatorRec, hClass, uSubClass, pThis,
     112                                               !(fFlags & RTSEMMUTEX_FLAGS_NO_LOCK_VAL),
     113                                               "RTSemMutex-%u", ASMAtomicIncU32(&s_iMutexAnon) - 1);
     114                }
     115                else
     116                {
     117                    va_list va;
     118                    va_start(va, pszNameFmt);
     119                    RTLockValidatorRecExclInitV(&pThis->ValidatorRec, hClass, uSubClass, pThis,
     120                                                !(fFlags & RTSEMMUTEX_FLAGS_NO_LOCK_VAL), pszNameFmt, va);
     121                    va_end(va);
     122                }
    113123#endif
    114124
  • trunk/src/VBox/Runtime/r3/posix/semrw-posix.cpp

    r25723 r25831  
    130130#ifdef RTSEMRW_STRICT
    131131                bool const fLVEnabled = !(fFlags & RTSEMRW_FLAGS_NO_LOCK_VAL);
    132                 va_list va;
    133                 va_start(va, pszNameFmt);
    134                 RTLockValidatorRecExclInitV(&pThis->ValidatorWrite, hClass, uSubClass, pThis, fLVEnabled, pszNameFmt, va);
    135                 va_end(va);
    136                 va_start(va, pszNameFmt);
    137                 RTLockValidatorRecSharedInitV(&pThis->ValidatorRead, hClass, uSubClass, pThis, false /*fSignaller*/,
    138                                               fLVEnabled, pszNameFmt, va);
    139                 va_end(va);
     132                if (!pszNameFmt)
     133                {
     134                    static uint32_t volatile s_iSemRWAnon = 0;
     135                    uint32_t i = ASMAtomicIncU32(&s_iSemRWAnon) - 1;
     136                    RTLockValidatorRecExclInit(&pThis->ValidatorWrite, hClass, uSubClass, pThis,
     137                                               fLVEnabled, "RTSemRW-%u", i);
     138                    RTLockValidatorRecSharedInit(&pThis->ValidatorRead, hClass, uSubClass, pThis,
     139                                                 false /*fSignaller*/, fLVEnabled, "RTSemRW-%u", i);
     140                }
     141                else
     142                {
     143                    va_list va;
     144                    va_start(va, pszNameFmt);
     145                    RTLockValidatorRecExclInitV(&pThis->ValidatorWrite, hClass, uSubClass, pThis,
     146                                                fLVEnabled, pszNameFmt, va);
     147                    va_end(va);
     148                    va_start(va, pszNameFmt);
     149                    RTLockValidatorRecSharedInitV(&pThis->ValidatorRead, hClass, uSubClass, pThis,
     150                                                  false /*fSignaller*/, fLVEnabled, pszNameFmt, va);
     151                    va_end(va);
     152                }
    140153                RTLockValidatorRecMakeSiblings(&pThis->ValidatorWrite.Core, &pThis->ValidatorRead.Core);
    141154#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette