VirtualBox

Changeset 100411 in vbox


Ignore:
Timestamp:
Jul 6, 2023 2:07:46 PM (20 months ago)
Author:
vboxsync
Message:

Shared Clipboard: Renaming (shClSvcTransferSendStatusAsyncInternal -> shClSvcTransferSendStatusAsync), check for lock owner, docs. ​​​bugref:9437

File:
1 edited

Legend:

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

    r100404 r100411  
    6161*   Prototypes                                                                                                                   *
    6262*********************************************************************************************************************************/
    63 static int shClSvcTransferSendStatusAsyncInternal(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer, SHCLTRANSFERSTATUS uStatus, int rcTransfer, PSHCLEVENT *ppEvent);
     63static int shClSvcTransferSendStatusAsync(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer, SHCLTRANSFERSTATUS uStatus, int rcTransfer, PSHCLEVENT *ppEvent);
    6464static int shClSvcTransferSetListOpen(uint32_t cParms, VBOXHGCMSVCPARM aParms[], uint64_t idCtx, PSHCLLISTOPENPARMS pOpenParms);
    6565static int shClSvcTransferSetListClose(uint32_t cParms, VBOXHGCMSVCPARM aParms[], uint64_t idCtx, SHCLLISTHANDLE hList);
     
    14261426                                            shClSvcClientLock(pClient);
    14271427
    1428                                             rc = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer,
    1429                                                                                         SHCLTRANSFERSTATUS_REQUESTED, VINF_SUCCESS,
    1430                                                                                         NULL);
     1428                                            rc = shClSvcTransferSendStatusAsync(pClient, pTransfer,
     1429                                                                                SHCLTRANSFERSTATUS_REQUESTED, VINF_SUCCESS,
     1430                                                                                NULL);
    14311431                                            shClSvcClientUnlock(pClient);
    14321432                                        }
     
    20362036
    20372037        /* Let the guest know. */
    2038         int rc2 = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer,
    2039                                                          SHCLTRANSFERSTATUS_ERROR, rc, NULL /* ppEvent */);
     2038        int rc2 = shClSvcTransferSendStatusAsync(pClient, pTransfer,
     2039                                                 SHCLTRANSFERSTATUS_ERROR, rc, NULL /* ppEvent */);
    20402040        AssertRC(rc2);
    20412041
     
    21202120    /* ppEvent is optional. */
    21212121
     2122    Assert(RTCritSectIsOwner(&pClient->CritSect));
     2123
    21222124    PSHCLCLIENTMSG pMsgReadData = shClSvcMsgAlloc(pClient, VBOX_SHCL_HOST_MSG_TRANSFER_STATUS,
    21232125                                                  VBOX_SHCL_CPARMS_TRANSFER_STATUS);
     
    21652167
    21662168/**
    2167  * Reports a transfer status to the guest.
     2169 * Reports a transfer status to the guest, internal version.
    21682170 *
    21692171 * @returns VBox status code.
     
    21772179 * @note    Caller must enter the client's critical section.
    21782180 */
    2179 static int shClSvcTransferSendStatusAsyncInternal(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer, SHCLTRANSFERSTATUS uStatus,
    2180                                                   int rcTransfer, PSHCLEVENT *ppEvent)
     2181static int shClSvcTransferSendStatusAsync(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer, SHCLTRANSFERSTATUS uStatus,
     2182                                          int rcTransfer, PSHCLEVENT *ppEvent)
    21812183{
    21822184    AssertPtrReturn(pClient,   VERR_INVALID_POINTER);
     
    21882190}
    21892191
     2192/**
     2193 * Reports a transfer status to the guest.
     2194 *
     2195 * @returns VBox status code.
     2196 * @param   pClient             Client that owns the transfer.
     2197 * @param   pTransfer           Transfer to report status for.
     2198 * @param   uStatus             Status to report.
     2199 * @param   rcTransfer          Result code to report. Optional and depending on status.
     2200 * @param   ppEvent             Where to return the wait event on success. Optional.
     2201 *                              Must be released by the caller with ShClEventRelease().
     2202 */
    21902203int ShClSvcTransferSendStatusAsync(PSHCLCLIENT pClient, PSHCLTRANSFER pTransfer, SHCLTRANSFERSTATUS uStatus,
    21912204                                   int rcTransfer, PSHCLEVENT *ppEvent)
    21922205{
    2193     shClSvcClientLock(pClient);
    2194 
    2195     int rc = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer, uStatus, rcTransfer, ppEvent);
    2196 
    2197     shClSvcClientUnlock(pClient);
    2198 
    2199     return rc;
     2206    return shClSvcTransferSendStatusAsync(pClient, pTransfer, uStatus, rcTransfer, ppEvent);
    22002207}
    22012208
     
    22222229        {
    22232230            /* Let the guest know. */
    2224             int rc2 = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer,
    2225                                                              SHCLTRANSFERSTATUS_UNINITIALIZED, VINF_SUCCESS, NULL /* ppEvent */);
     2231            int rc2 = shClSvcTransferSendStatusAsync(pClient, pTransfer,
     2232                                                     SHCLTRANSFERSTATUS_UNINITIALIZED, VINF_SUCCESS, NULL /* ppEvent */);
    22262233            AssertRC(rc2);
    22272234
     
    23582365
    23592366    /* Tell the guest the outcome. */
    2360     int rc2 = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer,
    2361                                                        RT_SUCCESS(rc)
    2362                                                      ? SHCLTRANSFERSTATUS_INITIALIZED : SHCLTRANSFERSTATUS_ERROR, rc,
    2363                                                      NULL /* ppEvent */);
     2367    int rc2 = shClSvcTransferSendStatusAsync(pClient, pTransfer,
     2368                                               RT_SUCCESS(rc)
     2369                                             ? SHCLTRANSFERSTATUS_INITIALIZED : SHCLTRANSFERSTATUS_ERROR, rc,
     2370                                             NULL /* ppEvent */);
    23642371    if (RT_SUCCESS(rc))
    23652372        rc2 = rc;
     
    23912398    /* Let the guest know in any case
    23922399     * (so that it can tear down the transfer on error as well). */
    2393     int rc2 = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer,
    2394                                                      RT_SUCCESS(rc) ? SHCLTRANSFERSTATUS_STARTED : SHCLTRANSFERSTATUS_ERROR, rc,
    2395                                                      NULL /* ppEvent */);
     2400    int rc2 = shClSvcTransferSendStatusAsync(pClient, pTransfer,
     2401                                              RT_SUCCESS(rc)
     2402                                            ? SHCLTRANSFERSTATUS_STARTED : SHCLTRANSFERSTATUS_ERROR, rc,
     2403                                            NULL /* ppEvent */);
    23962404    if (RT_SUCCESS(rc))
    23972405        rc = rc2;
     
    24162424
    24172425    PSHCLEVENT pEvent;
    2418     int rc = shClSvcTransferSendStatusAsyncInternal(pClient, pTransfer,
    2419                                                     SHCLTRANSFERSTATUS_STOPPED, VINF_SUCCESS, &pEvent);
     2426    int rc = shClSvcTransferSendStatusAsync(pClient, pTransfer,
     2427                                            SHCLTRANSFERSTATUS_STOPPED, VINF_SUCCESS, &pEvent);
    24202428    if (   RT_SUCCESS(rc)
    24212429        && fWaitForGuest)
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