VirtualBox

Changeset 7862 in vbox


Ignore:
Timestamp:
Apr 10, 2008 9:18:44 AM (17 years ago)
Author:
vboxsync
Message:

HGCM service must not block: added todo for SHFL_LOCK_WAIT (Shared folders).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedFolders/service.cpp

    r7813 r7862  
    281281    SHFLCLIENTDATA *pClient = (SHFLCLIENTDATA *)pvClient;
    282282
    283     uint8_t AsynchronousProcessing = 0;
     283    bool fAsynchronousProcessing = false;
    284284
    285285#ifdef DEBUG
     
    659659                    AssertMsgFailed(("Invalid handle!!!!\n"));
    660660                    rc = VERR_INVALID_HANDLE;
     661                }
     662                else if (flags & SHFL_LOCK_WAIT)
     663                {
     664                    /* @todo This should be properly implemented by the shared folders service.
     665                     *       The service thread must never block. If an operation requires
     666                     *       blocking, it must be processed by another thread and when it is
     667                     *       completed, the another thread must call
     668                     *
     669                     *           g_pHelpers->pfnCallComplete (callHandle, rc);
     670                     */
     671
     672                    /* Operation is async. */
     673                    fAsynchronousProcessing = true;
     674
     675                    /* Here the operation must be posted to another thread. At the moment it is not implemented. */
     676                    rc = VERR_NOT_SUPPORTED;
    661677                }
    662678                else
     
    10591075    LogFlow(("svcCall: rc = %Vrc\n", rc));
    10601076
    1061     if (!AsynchronousProcessing)
     1077    if (   !fAsynchronousProcessing
     1078        || VBOX_FAILURE (rc))
    10621079    {
     1080        /* Complete the operation if it was unsuccessful or
     1081         * it was processed synchronously.
     1082         */
    10631083        g_pHelpers->pfnCallComplete (callHandle, rc);
    10641084    }
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