VirtualBox

Changeset 67721 in vbox for trunk/src/VBox/Main/glue


Ignore:
Timestamp:
Jun 30, 2017 10:17:01 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
116569
Message:

glue/AutoLock: Adding isReadLockedOnCurrentThread method for debug assertions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/glue/AutoLock.cpp

    r63147 r67721  
    230230}
    231231
     232/*virtual*/ bool RWLockHandle::isReadLockedOnCurrentThread(bool fWannaHear) const
     233{
     234#ifdef GLUE_USE_CRITSECTRW
     235    return RTCritSectRwIsReadOwner(&m->CritSect, fWannaHear);
     236#else
     237    return RTSemRWIsReadOwner(m->sem, fWannaHear);
     238#endif
     239}
     240
    232241/*virtual*/ void RWLockHandle::lockRead(LOCKVAL_SRC_POS_DECL)
    233242{
     
    327336    RTCritSectEnter(&m->sem);
    328337#endif
     338}
     339
     340/*virtual*/ bool WriteLockHandle::isReadLockedOnCurrentThread(bool fWannaHear) const
     341{
     342    RT_NOREF(fWannaHear);
     343    return RTCritSectIsOwner(&m->sem);
    329344}
    330345
     
    661676}
    662677
     678/**
     679 * Returns @c true if the current thread holds a write lock on the managed
     680 * read/write semaphore. Returns @c false if the managed semaphore is @c
     681 * NULL.
     682 *
     683 * @note Intended for debugging only (esp. considering fWannaHear).
     684 */
     685bool AutoWriteLock::isReadLockedOnCurrentThread(bool fWannaHear) const
     686{
     687    return m->aHandles[0] ? m->aHandles[0]->isReadLockedOnCurrentThread(fWannaHear) : false;
     688}
     689
    663690////////////////////////////////////////////////////////////////////////////////
    664691//
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