VirtualBox

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


Ignore:
Timestamp:
Dec 15, 2009 3:04:41 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56041
Message:

IPRT,PDMCritSect,Main: Moved code dealing with lock counting from RTThread to RTLockValidator. Fixed thread termination assertion on windows.

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

Legend:

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

    r25398 r25409  
    238238    ASMAtomicWriteU32(&pThis->cNesting, 1);
    239239#ifdef RTSEMMUTEX_STRICT
    240     RTThreadWriteLockInc(RTLockValidatorSetOwner(&pThis->ValidatorRec, hThreadSelf, RTSEMMUTEX_STRICT_POS_ARGS));
     240    RTLockValidatorWriteLockInc(RTLockValidatorSetOwner(&pThis->ValidatorRec, hThreadSelf, RTSEMMUTEX_STRICT_POS_ARGS));
    241241#endif
    242242
     
    321321     */
    322322#ifdef RTSEMMUTEX_STRICT
    323     RTThreadWriteLockDec(RTLockValidatorUnsetOwner(&pThis->ValidatorRec));
     323    RTLockValidatorWriteLockDec(RTLockValidatorUnsetOwner(&pThis->ValidatorRec));
    324324#endif
    325325    pThis->Owner = (pthread_t)-1;
  • trunk/src/VBox/Runtime/r3/posix/semrw-posix.cpp

    r8653 r25409  
    3333*******************************************************************************/
    3434#include <iprt/semaphore.h>
     35#include "internal/iprt.h"
     36
     37#include <iprt/asm.h>
    3538#include <iprt/assert.h>
    36 #include <iprt/alloc.h>
     39#include <iprt/err.h>
     40#include <iprt/lockvalidator.h>
     41#include <iprt/mem.h>
    3742#include <iprt/thread.h>
    38 #include <iprt/asm.h>
    39 #include <iprt/err.h>
    4043
    4144#include <errno.h>
     
    185188#ifdef RTSEMRW_STRICT
    186189        if (ThreadSelf != NIL_RTTHREAD)
    187             RTThreadReadLockInc(ThreadSelf);
     190            RTLockValidatorReadLockInc(ThreadSelf);
    188191#endif
    189192        return VINF_SUCCESS;
     
    238241#ifdef RTSEMRW_STRICT
    239242    if (ThreadSelf != NIL_RTTHREAD)
    240         RTThreadReadLockInc(ThreadSelf);
     243        RTLockValidatorReadLockInc(ThreadSelf);
    241244#endif
    242245    return VINF_SUCCESS;
     
    278281#ifdef RTSEMRW_STRICT
    279282        if (ThreadSelf != NIL_RTTHREAD)
    280             RTThreadReadLockDec(ThreadSelf);
     283            RTLockValidatorReadLockDec(ThreadSelf);
    281284#endif
    282285        return VINF_SUCCESS;
     
    295298#ifdef RTSEMRW_STRICT
    296299    if (ThreadSelf != NIL_RTTHREAD)
    297         RTThreadReadLockDec(ThreadSelf);
     300        RTLockValidatorReadLockDec(ThreadSelf);
    298301#endif
    299302    return VINF_SUCCESS;
     
    375378    RTTHREAD ThreadSelf = RTThreadSelf();
    376379    if (ThreadSelf != NIL_RTTHREAD)
    377         RTThreadWriteLockInc(ThreadSelf);
     380        RTLockValidatorWriteLockInc(ThreadSelf);
    378381#endif
    379382    return VINF_SUCCESS;
     
    425428    RTTHREAD ThreadSelf = RTThreadSelf();
    426429    if (ThreadSelf != NIL_RTTHREAD)
    427         RTThreadWriteLockDec(ThreadSelf);
     430        RTLockValidatorWriteLockDec(ThreadSelf);
    428431#endif
    429432    return VINF_SUCCESS;
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