VirtualBox

Changeset 100642 in vbox for trunk


Ignore:
Timestamp:
Jul 19, 2023 8:38:16 AM (19 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158479
Message:

Shared Clipboard: Use ShClEventWaitEx() instead of ShClEventWait(), to retrieve and return the event waiting result to the caller. bugref:9437

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-transfers.cpp

    r100616 r100642  
    159159    if (RT_SUCCESS(rc))
    160160    {
     161        int               rcEvent;
    161162        PSHCLEVENTPAYLOAD pPayload;
    162         rc = ShClEventWait(pEvent, SHCL_TIMEOUT_DEFAULT_MS, &pPayload);
     163        rc = ShClEventWaitEx(pEvent, pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    163164        if (RT_SUCCESS(rc))
    164165        {
     
    171172            ShClPayloadFree(pPayload);
    172173        }
     174        else
     175            rc = rcEvent;
    173176
    174177        ShClEventRelease(pEvent);
     
    250253    if (RT_SUCCESS(rc))
    251254    {
     255        int               rcEvent;
    252256        PSHCLEVENTPAYLOAD pPayload;
    253         rc = ShClEventWait(pEvent, SHCL_TIMEOUT_DEFAULT_MS, &pPayload);
     257        rc = ShClEventWaitEx(pEvent, pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    254258        if (RT_SUCCESS(rc))
    255259        {
    256260            *ppListEntry = (PSHCLLISTENTRY)pPayload->pvData; /* ppLisEntry own pPayload-pvData now. */
    257 
    258         }
     261        }
     262        else
     263            rc = rcEvent;
    259264
    260265        ShClEventRelease(pEvent);
     
    333338                if (RT_SUCCESS(rc))
    334339                {
     340                    int               rcEvent;
    335341                    PSHCLEVENTPAYLOAD pPayload;
    336                     rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     342                    rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    337343                    if (RT_SUCCESS(rc))
    338344                    {
     
    350356                        ShClPayloadFree(pPayload);
    351357                    }
     358                    else
     359                        rc = rcEvent;
    352360                }
    353361            }
     
    401409                if (RT_SUCCESS(rc))
    402410                {
     411                    int               rcEvent;
    403412                    PSHCLEVENTPAYLOAD pPayload;
    404                     rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     413                    rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    405414                    if (RT_SUCCESS(rc))
     415                    {
    406416                        ShClPayloadFree(pPayload);
     417                    }
     418                    else
     419                        rc = rcEvent;
    407420                }
    408421            }
     
    456469            if (RT_SUCCESS(rc))
    457470            {
     471                int               rcEvent;
    458472                PSHCLEVENTPAYLOAD pPayload;
    459                 rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     473                rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    460474                if (RT_SUCCESS(rc))
    461475                {
     
    466480                    ShClPayloadFree(pPayload);
    467481                }
     482                else
     483                    rc = rcEvent;
    468484            }
    469485
     
    527543            if (RT_SUCCESS(rc))
    528544            {
     545                int               rcEvent;
    529546                PSHCLEVENTPAYLOAD pPayload;
    530                 rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     547                rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    531548                if (RT_SUCCESS(rc))
    532549                {
     
    537554                    ShClPayloadFree(pPayload);
    538555                }
     556                else
     557                    rc = rcEvent;
    539558            }
    540559
     
    602621            if (RT_SUCCESS(rc))
    603622            {
     623                int               rcEvent;
    604624                PSHCLEVENTPAYLOAD pPayload;
    605                 rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     625                rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    606626                if (RT_SUCCESS(rc))
    607627                {
     
    619639                    ShClPayloadFree(pPayload);
    620640                }
     641                else
     642                    rc = rcEvent;
    621643            }
    622644
     
    667689            if (RT_SUCCESS(rc))
    668690            {
     691                int               rcEvent;
    669692                PSHCLEVENTPAYLOAD pPayload;
    670                 rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     693                rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    671694                if (RT_SUCCESS(rc))
    672695                {
     
    682705                    ShClPayloadFree(pPayload);
    683706                }
     707                else
     708                    rc = rcEvent;
    684709            }
    685710
     
    734759            {
    735760                PSHCLEVENTPAYLOAD pPayload;
    736                 rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     761                int               rcEvent;
     762                rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    737763                if (RT_SUCCESS(rc))
    738764                {
     
    751777                    ShClPayloadFree(pPayload);
    752778                }
     779                else
     780                    rc = rcEvent;
    753781            }
    754782
     
    802830            if (RT_SUCCESS(rc))
    803831            {
     832                int               rcEvent;
    804833                PSHCLEVENTPAYLOAD pPayload;
    805                 rc = ShClEventWait(pEvent, pCtx->pTransfer->uTimeoutMs, &pPayload);
     834                rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);
    806835                if (RT_SUCCESS(rc))
    807836                {
     
    815844                    ShClPayloadFree(pPayload);
    816845                }
     846                else
     847                    rc = rcEvent;
    817848            }
    818849
Note: See TracChangeset for help on using the changeset viewer.

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