VirtualBox

儲存庫 vbox 的更動 77585


忽略:
時間撮記:
2019-3-6 下午04:27:47 (6 年 以前)
作者:
vboxsync
svn:sync-xref-src-repo-rev:
129205
訊息:

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

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • 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
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette