VirtualBox

Ignore:
Timestamp:
Feb 10, 2014 10:22:43 AM (11 years ago)
Author:
vboxsync
Message:

VBoxNet*darwin: Corrected two function delcarations (use DECL macros!), header guard and a few other nits. VBoxNetSend.h should move into src/VBox/HostDrivers/darwin/, btw.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/darwin/VBoxNetFlt-darwin.cpp

    r50322 r50379  
    885885
    886886
    887 /** A worker for vboxNetFltSendDummy() thread. */
    888 static int vboxNetFltSendDummyWorker(RTTHREAD ThreadSelf, void *pvUser)
     887/** A worker thread for vboxNetFltSendDummy(). */
     888static DECLCALLBACK(int) vboxNetFltSendDummyWorker(RTTHREAD hThreadSelf, void *pvUser)
    889889{
    890890    Assert(pvUser);
     
    893893}
    894894
    895 /*
     895
     896/**
    896897 * Prevent GUI icon freeze issue when VirtualBoxVM process terminates.
    897898 *
    898  * This function is a workaround for stuck-in-dock issue. The
    899  * idea here is to send a dummy packet to an interface from the
    900  * context of a kernel thread. Therefore, an XNU's receive
    901  * thread (which is created as a result if we are the first who
    902  * is communicating with the interface) will be associated with the
    903  * kernel thread instead of VirtualBoxVM process.
     899 * This function is a workaround for stuck-in-dock issue.  The idea here is to
     900 * send a dummy packet to an interface from the context of a kernel thread.
     901 * Therefore, an XNU's receive thread (which is created as a result if we are
     902 * the first who is communicating with the interface) will be associated with
     903 * the kernel thread instead of VirtualBoxVM process.
    904904 *
    905905 * @param pIfNet    Interface to be used to send data.
     
    907907static void vboxNetFltSendDummy(ifnet_t pIfNet)
    908908{
    909     RTTHREAD dummyThread;
    910     int rc;
    911 
    912     rc = RTThreadCreate(&dummyThread, vboxNetFltSendDummyWorker, (void *)pIfNet, 0,
    913         RTTHREADTYPE_DEFAULT, RTTHREADFLAGS_WAITABLE, "DummyThread");
    914 
     909    RTTHREAD hThread;
     910    int rc = RTThreadCreate(&hThread, vboxNetFltSendDummyWorker, (void *)pIfNet, 0,
     911                            RTTHREADTYPE_DEFAULT, RTTHREADFLAGS_WAITABLE, "DummyThread");
    915912    if (RT_SUCCESS(rc))
    916913    {
    917         RTThreadWait(dummyThread, RT_INDEFINITE_WAIT, NULL);
     914        RTThreadWait(hThread, RT_INDEFINITE_WAIT, NULL);
    918915        LogFlow(("vboxNetFltSendDummy: a dummy packet has been successfully sent in order to prevent stuck-in-dock issue\n"));
    919916    }
     
    921918        LogFlow(("vboxNetFltSendDummy: unable to send dummy packet in order to prevent stuck-in-dock issue\n"));
    922919}
     920
    923921
    924922/**
     
    957955    RTSpinlockReleaseNoInts(pThis->hSpinlock);
    958956
    959     /* Prevent stuck-in-dock issue by associating interface receive thread with kernel thread */
     957    /* Prevent stuck-in-dock issue by associating interface receive thread with kernel thread. */
    960958    vboxNetFltSendDummy(pIfNet);
    961959
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