VirtualBox

Changeset 22768 in vbox


Ignore:
Timestamp:
Sep 4, 2009 9:06:10 AM (15 years ago)
Author:
vboxsync
Message:

Solaris/VBoxNetFlt: fixed the deadlock in #4259

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c

    r22409 r22768  
    6565#include <sys/strsun.h>
    6666#include <sys/modctl.h>
     67#include <sys/archsystm.h>
    6768#include <sys/ddi.h>
    6869#include <sys/sunddi.h>
     
    30783079    int rc = vboxNetFltSolarisMBlkToSG(pThis, pMsg, pSG, cSegs, fSrc);
    30793080    if (RT_SUCCESS(rc))
     3081    {
     3082        /*
     3083         * If we're -still- in interrupt context we need to unpin the underlying current
     3084         * thread as this could lead to a deadlock (see #4259 for the full explanation)
     3085         */
     3086        if (curthread->t_intr && getpil() < DISP_LEVEL)
     3087            swtch();
    30803088        pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, fSrc);
     3089    }
    30813090    else
    30823091        LogRel((DEVICE_NAME ":vboxNetFltSolarisMBlkToSG failed. rc=%d\n", rc));
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