VirtualBox

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


Ignore:
Timestamp:
Jan 7, 2010 10:03:06 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56405
Message:

iprt,pdmcritsect: Some more lock validator code, almost there now... :-)

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

Legend:

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

    r25682 r25685  
    134134                        RTLockValidatorRecSharedInit(&pThis->Signallers,
    135135                                                     NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_ANY,
    136                                                      "RTSemEvent", pThis, true /*fSignaller*/);
     136                                                     "RTSemEvent", pThis, true /*fSignaller*/, true);
    137137                        pThis->fEverHadSignallers = false;
    138138#endif
     
    332332            {
    333333                rc = RTLockValidatorRecSharedCheckBlocking(&pThis->Signallers, hThreadSelf, pSrcPos, false,
    334                                                            RTTHREADSTATE_EVENT, true);
     334                                                           cMillies, RTTHREADSTATE_EVENT, true);
    335335                if (RT_FAILURE(rc))
    336336                {
     
    426426            {
    427427                rc = RTLockValidatorRecSharedCheckBlocking(&pThis->Signallers, hThreadSelf, pSrcPos, false,
    428                                                            RTTHREADSTATE_EVENT, true);
     428                                                           cMillies, RTTHREADSTATE_EVENT, true);
    429429                if (RT_FAILURE(rc))
    430430                {
  • trunk/src/VBox/Runtime/r3/posix/semeventmulti-posix.cpp

    r25682 r25685  
    124124                        RTLockValidatorRecSharedInit(&pThis->Signallers,
    125125                                                     NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_ANY,
    126                                                      "RTSemEventMulti", pThis, true /*fSignaller*/);
     126                                                     "RTSemEventMulti", pThis, true /*fSignaller*/, true);
    127127                        pThis->fEverHadSignallers = false;
    128128#endif
     
    361361            {
    362362                rc = RTLockValidatorRecSharedCheckBlocking(&pThis->Signallers, hThreadSelf, pSrcPos, false,
    363                                                            RTTHREADSTATE_EVENT_MULTI, true);
     363                                                           cMillies, RTTHREADSTATE_EVENT_MULTI, true);
    364364                if (RT_FAILURE(rc))
    365365                {
     
    457457            {
    458458                rc = RTLockValidatorRecSharedCheckBlocking(&pThis->Signallers, hThreadSelf, pSrcPos, false,
    459                                                            RTTHREADSTATE_EVENT_MULTI, true);
     459                                                           cMillies, RTTHREADSTATE_EVENT_MULTI, true);
    460460                if (RT_FAILURE(rc))
    461461                {
  • trunk/src/VBox/Runtime/r3/posix/semmutex-posix.cpp

    r25682 r25685  
    102102                pThis->u32Magic = RTSEMMUTEX_MAGIC;
    103103#ifdef RTSEMMUTEX_STRICT
    104                 RTLockValidatorRecExclInit(&pThis->ValidatorRec, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, "RTSemMutex", pThis);
     104                RTLockValidatorRecExclInit(&pThis->ValidatorRec, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, "RTSemMutex", pThis, true);
    105105#endif
    106106
     
    189189        hThreadSelf = RTThreadSelfAutoAdopt();
    190190        int rc9 = RTLockValidatorRecExclCheckOrderAndBlocking(&pThis->ValidatorRec, hThreadSelf, pSrcPos, true,
    191                                                               RTTHREADSTATE_MUTEX, true);
     191                                                              cMillies, RTTHREADSTATE_MUTEX, true);
    192192        if (RT_FAILURE(rc9))
    193193            return rc9;
  • trunk/src/VBox/Runtime/r3/posix/semrw-posix.cpp

    r25682 r25685  
    126126                pThis->Writer       = (pthread_t)-1;
    127127#ifdef RTSEMRW_STRICT
    128                 RTLockValidatorRecExclInit(&pThis->ValidatorWrite, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, "RTSemRW", pThis);
    129                 RTLockValidatorRecSharedInit(&pThis->ValidatorRead, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, "RTSemRW", pThis, false /*fSignaller*/);
     128                RTLockValidatorRecExclInit(&pThis->ValidatorWrite, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, "RTSemRW", pThis, true);
     129                RTLockValidatorRecSharedInit(&pThis->ValidatorRead, NIL_RTLOCKVALCLASS, RTLOCKVAL_SUB_CLASS_NONE, "RTSemRW", pThis, false /*fSignaller*/, true);
    130130                RTLockValidatorRecMakeSiblings(&pThis->ValidatorWrite.Core, &pThis->ValidatorRead.Core);
    131131#endif
     
    225225        hThreadSelf = RTThreadSelfAutoAdopt();
    226226        int rc9 = RTLockValidatorRecSharedCheckOrderAndBlocking(&pThis->ValidatorRead, hThreadSelf, pSrcPos, true,
    227                                                                 RTTHREADSTATE_RW_READ, true);
     227                                                                cMillies, RTTHREADSTATE_RW_READ, true);
    228228        if (RT_FAILURE(rc9))
    229229            return rc9;
     
    418418        hThreadSelf = RTThreadSelfAutoAdopt();
    419419        int rc9 = RTLockValidatorRecExclCheckOrderAndBlocking(&pThis->ValidatorWrite, hThreadSelf, pSrcPos, true,
    420                                                               RTTHREADSTATE_RW_WRITE, true);
     420                                                              cMillies, RTTHREADSTATE_RW_WRITE, true);
    421421        if (RT_FAILURE(rc9))
    422422            return rc9;
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