VirtualBox

Changeset 12672 in vbox for trunk/src/VBox/HostDrivers


Ignore:
Timestamp:
Sep 23, 2008 1:52:50 PM (16 years ago)
Author:
vboxsync
Message:

Solaris/vboxnetflt: per-queue locking.

File:
1 edited

Legend:

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

    r12661 r12672  
    194194    ddi_prop_op,                    /* property ops */
    195195    &g_VBoxNetFltSolarisStreamTab,
    196     D_NEW | D_MP | D_MTQPAIR,       /* compat. flag */
     196    D_NEW | D_MP | D_MTPERQ,        /* compat. flag */
    197197    CB_REV                          /* revision */
    198198};
     
    725725    *ppPrevStream = pStream;
    726726
     727    RTSpinlockRelease(pThis->hSpinlock, &Tmp);
    727728    qprocson(pQueue);
    728729
     730    /*
     731     * Don't hold the spinlocks across putnext calls as it could
     732     * (and does mostly) re-enter the put procedure on the same thread.
     733     */
    729734    if (pStream->Type == kPromiscStream)
    730735    {
     
    759764        else
    760765            LogRel((DEVICE_NAME ":vboxNetFltSolarisBindReq failed rc=%Vrc.\n", rc));
    761 
    762         if (RT_FAILURE(rc))
    763         {
    764             RTSpinlockRelease(pThis->hSpinlock, &Tmp);
    765             return EPROTO;
    766         }
    767766    }
    768767
     
    772771    LogFlow((DEVICE_NAME ":VBoxNetFltSolarisModOpen returns 0, DevMinor=%d pQueue=%p\n", DevMinor, pStream->pReadQueue));
    773772
    774     RTSpinlockRelease(pThis->hSpinlock, &Tmp);
    775773    return 0;
    776774}
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