VirtualBox

Changeset 77585 in vbox for trunk/src


Ignore:
Timestamp:
Mar 6, 2019 4:27:47 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
129205
Message:

Guest Control/Main: No need to use ASMAtomicXXX routines for GuestWaitEventBase::mfAborted; check for return value of RTSemEventWait() in GuestWaitEventBase::Wait().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/GuestCtrlPrivate.cpp

    r77157 r77585  
    14431443                                       const GuestWaitEventPayload *pPayload)
    14441444{
    1445     if (ASMAtomicReadBool(&mfAborted))
     1445    if (mfAborted)
    14461446        return VERR_CANCELLED;
    14471447
     
    14811481    int rc = VINF_SUCCESS;
    14821482
    1483     if (ASMAtomicReadBool(&mfAborted))
     1483    if (mfAborted)
    14841484        rc = VERR_CANCELLED;
    14851485
     
    14891489
    14901490        rc = RTSemEventWait(mEventSem, msTimeout ? msTimeout : RT_INDEFINITE_WAIT);
    1491         if (ASMAtomicReadBool(&mfAborted))
     1491        if (   RT_SUCCESS(rc)
     1492            && mfAborted)
     1493        {
    14921494            rc = VERR_CANCELLED;
     1495        }
     1496
    14931497        if (RT_SUCCESS(rc))
    14941498        {
     
    15161520int GuestWaitEvent::Cancel(void)
    15171521{
    1518     AssertReturn(!mfAborted, VERR_CANCELLED);
    1519     ASMAtomicWriteBool(&mfAborted, true);
     1522    if (mfAborted) /* Already aborted? */
     1523        return VINF_SUCCESS;
     1524
     1525    mfAborted = true;
    15201526
    15211527#ifdef DEBUG_andy
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