VirtualBox

Changeset 8700 in vbox


Ignore:
Timestamp:
May 8, 2008 11:47:27 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
30638
Message:

Linux additions: Only VbglHGCMCall() can deal with cancelled requests

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VBoxGuestLib.h

    r8155 r8700  
    150150 * obtain a client identifier for future access.
    151151 *
     152 * @note This function can NOT handle cancelled requests!
     153 *
    152154 * @param pConnectInfo    The request data.
    153155 * @param pAsyncCallback  Required pointer to function that is called when
     
    168170 * the client will not call the service anymore.
    169171 *
     172 * @note This function can NOT handle cancelled requests!
     173 *
    170174 * @param pDisconnectInfo The request data.
    171175 * @param pAsyncCallback  Required pointer to function that is called when
     
    181185                                  VBGLHGCMCALLBACK *pAsyncCallback, void *pvAsyncData, uint32_t u32AsyncData);
    182186
    183 /* Call a HGCM service.
     187/** Call a HGCM service.
     188 *
     189 * @note This function can deal with cancelled requests.
    184190 *
    185191 * @param pCallInfo       The request data.
  • trunk/src/VBox/Additions/linux/module/cmc.c

    r8693 r8700  
    3030{
    3131    VBoxDevice *dev = pvData;
     32    wait_event (dev->eventq, pHeader->fu32Flags & VBOX_HGCM_REQ_DONE);
     33}
     34
     35static DECLVBGL(void)
     36vboxadd_hgcm_callback_interruptible (VMMDevHGCMRequestHeader *pHeader, void *pvData, uint32_t u32Data)
     37{
     38    VBoxDevice *dev = pvData;
    3239    wait_event_interruptible (dev->eventq, pHeader->fu32Flags & VBOX_HGCM_REQ_DONE);
    3340}
     
    3744    switch (func)
    3845    {
     46        /* this function can NOT handle cancelled requests */
    3947        case IOCTL_VBOXGUEST_HGCM_CONNECT:
    4048            return VbglHGCMConnect (data, vboxadd_hgcm_callback, opaque, 0);
    4149
     50        /* this function can NOT handle cancelled requests */
    4251        case IOCTL_VBOXGUEST_HGCM_DISCONNECT:
    4352            return VbglHGCMDisconnect (data, vboxadd_hgcm_callback, opaque, 0);
    4453
     54        /* this function can handle cancelled requests */
    4555        case IOCTL_VBOXGUEST_HGCM_CALL:
    46             return VbglHGCMCall (data, vboxadd_hgcm_callback, opaque, 0);
     56            return VbglHGCMCall (data, vboxadd_hgcm_callback_interruptible, opaque, 0);
    4757
    4858        default:
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