VirtualBox

Changeset 97339 in vbox


Ignore:
Timestamp:
Oct 31, 2022 8:20:07 AM (2 years ago)
Author:
vboxsync
Message:

NetworkServices/IntNetSwitch,Devices/Network/DrvIntNet,Devices/Network/SrvIntNetR0: Don't require a dedicated waiting thread to get notified when there is something to receive but make it possible to register a callback which is called and sends an IPC message instead, bugref:10297 [build and scm fixes]

Location:
trunk/src/VBox/Devices/Network
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/SrvIntNetR0.cpp

    r97338 r97339  
    28422842/**
    28432843 * Notifies consumers of incoming data from @a pIf that data is available.
    2844  */ 
     2844 */
    28452845DECL_FORCE_INLINE(void) intnetR0IfNotifyRecv(PINTNETIF pIf)
    28462846{
     
    46894689#if defined(VBOX_WITH_INTNET_SERVICE_IN_R3) && defined(IN_RING3)
    46904690    AssertReleaseFailed(); /* Should never be called. */
     4691    RT_NOREF(cMillies);
    46914692    return VERR_NOT_SUPPORTED;
    46924693#else
     
    47924793#if defined(VBOX_WITH_INTNET_SERVICE_IN_R3) && defined(IN_RING3)
    47934794    AssertReleaseFailed();
     4795    RT_NOREF(fNoMoreWaits);
    47944796    return VERR_NOT_SUPPORTED;
    47954797#else
     
    66516653 * @param   cbSend          The send buffer size.
    66526654 * @param   cbRecv          The receive buffer size.
    6653  * @param   pfnRecvAvail    The receive available callback to call instead of 
     6655 * @param   pfnRecvAvail    The receive available callback to call instead of
    66546656 *                          signalling the semaphore (R3 service only).
    66556657 * @param   pvUser          The opaque user data to pass to the callback.
     
    66586660INTNETR0DECL(int) IntNetR0Open(PSUPDRVSESSION pSession, const char *pszNetwork,
    66596661                               INTNETTRUNKTYPE enmTrunkType, const char *pszTrunk, uint32_t fFlags,
    6660                                uint32_t cbSend, uint32_t cbRecv, PFNINTNETIFRECVAVAIL pfnRecvAvail, void *pvUser, 
     6662                               uint32_t cbSend, uint32_t cbRecv, PFNINTNETIFRECVAVAIL pfnRecvAvail, void *pvUser,
    66616663                               PINTNETIFHANDLE phIf)
    66626664{
  • trunk/src/VBox/Devices/Network/testcase/tstIntNetR0.cpp

    r97338 r97339  
    447447{
    448448    pThis->hIf0 = INTNET_HANDLE_INVALID;
    449     RTTESTI_CHECK_RC_OK_RET(IntNetR0Open(g_pSession, pszNetwork, kIntNetTrunkType_None, "", 0/*fFlags*/, cbSend, cbRecv, 
     449    RTTESTI_CHECK_RC_OK_RET(IntNetR0Open(g_pSession, pszNetwork, kIntNetTrunkType_None, "", 0/*fFlags*/, cbSend, cbRecv,
    450450                                         NULL /*pfnRecvAvail*/, NULL /*pvUser*/, &pThis->hIf0), rcCheck);
    451451    RTTESTI_CHECK_RET(pThis->hIf0 != INTNET_HANDLE_INVALID, VERR_INTERNAL_ERROR);
     
    455455
    456456    pThis->hIf1 = INTNET_HANDLE_INVALID;
    457     RTTESTI_CHECK_RC_OK_RET(IntNetR0Open(g_pSession, pszNetwork, kIntNetTrunkType_None, "", 0/*fFlags*/, cbSend, cbRecv, 
     457    RTTESTI_CHECK_RC_OK_RET(IntNetR0Open(g_pSession, pszNetwork, kIntNetTrunkType_None, "", 0/*fFlags*/, cbSend, cbRecv,
    458458                                         NULL /*pfnRecvAvail*/, NULL /*pvUser*/, &pThis->hIf1), rcCheck);
    459459    RTTESTI_CHECK_RET(pThis->hIf1 != INTNET_HANDLE_INVALID, VERR_INTERNAL_ERROR);
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