VirtualBox

Ignore:
Timestamp:
Dec 14, 2009 4:31:40 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
55985
Message:

RTCritSect,PDMCritSect,iprt/lockvalidator.h: Reworked the deadlocking detection for critical sections and preparing for lock order validation. This change generalizes the RTCRITSECT::Strict data and moves it out of the RTCRITSECT, leaving a pointer behind. This saves a bit of space in release builds.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/include/internal/thread.h

    r23124 r25368  
    9393    union RTTHREADINTBLOCKID
    9494    {
     95        PRTLOCKVALIDATORREC pRec;
    9596        uint64_t            u64;
    96         PRTCRITSECT         pCritSect;
    97         RTSEMEVENT          Event;
    98         RTSEMEVENTMULTI     EventMulti;
    99         RTSEMMUTEX          Mutex;
    10097    } Block;
    10198    /** Where we're blocking. */
     99    const char volatile    *pszBlockFunction;
     100    /** Where we're blocking. */
    102101    const char volatile    *pszBlockFile;
    103102    /** Where we're blocking. */
    104     unsigned volatile       uBlockLine;
    105     /** Where we're blocking. */
    106     RTUINTPTR volatile      uBlockId;
     103    uint32_t volatile       uBlockLine;
     104    /** Where we're blocking. */
     105    RTHCUINTPTR volatile    uBlockId;
    107106    /** Number of registered write locks, mutexes and critsects that this thread owns. */
    108107    int32_t volatile        cWriteLocks;
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