Changeset 6001 in vbox
- Timestamp:
- Dec 7, 2007 3:29:01 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DrvIntNet.cpp
r5999 r6001 87 87 * When the link is down all incoming packets will be dropped. */ 88 88 bool volatile fLinkDown; 89 /** Set if data transmission should start immediately. */ 90 bool fActivateEarly; 89 91 90 92 #ifdef VBOX_WITH_STATISTICS … … 629 631 LogFlow(("drvIntNetPowerOn\n")); 630 632 PDRVINTNET pThis = PDMINS2DATA(pDrvIns, PDRVINTNET); 631 ASMAtomicXchgSize(&pThis->enmState, ASYNCSTATE_RUNNING); 632 RTSemEventSignal(pThis->EventSuspended); 633 if (!pThis->fActivateEarly) 634 { 635 ASMAtomicXchgSize(&pThis->enmState, ASYNCSTATE_RUNNING); 636 RTSemEventSignal(pThis->EventSuspended); 637 } 633 638 } 634 639 … … 718 723 pThis->EventOutOfSpace = NIL_RTSEMEVENT; 719 724 pThis->enmState = ASYNCSTATE_SUSPENDED; 725 pThis->fActivateEarly = false; 720 726 /* IBase */ 721 727 pDrvIns->IBase.pfnQueryInterface = drvIntNetQueryInterface; … … 729 735 * Validate the config. 730 736 */ 731 if (!CFGMR3AreValuesValid(pCfgHandle, "Network\0ReceiveBufferSize\0SendBufferSize\0RestrictAccess\0 "))737 if (!CFGMR3AreValuesValid(pCfgHandle, "Network\0ReceiveBufferSize\0SendBufferSize\0RestrictAccess\0IsService\0")) 732 738 return VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES; 733 739 … … 791 797 return PDMDRV_SET_ERROR(pDrvIns, rc, 792 798 N_("Configuration error: Failed to get the \"RestrictAccess\" value")); 799 800 rc = CFGMR3QueryBool(pCfgHandle, "IsService", &pThis->fActivateEarly); 801 if (rc == VERR_CFGM_VALUE_NOT_FOUND) 802 pThis->fActivateEarly = false; 803 else if (VBOX_FAILURE(rc)) 804 return PDMDRV_SET_ERROR(pDrvIns, rc, 805 N_("Configuration error: Failed to get the \"IsService\" value")); 793 806 794 807 /* … … 863 876 pDrvIns->pDrvHlp->pfnSTAMRegister(pDrvIns, &pThis->StatTransmit, STAMTYPE_PROFILE, szStatName, STAMUNIT_TICKS_PER_CALL, "Profiling packet transmit runs."); 864 877 #endif 878 879 /* 880 * Activate data transmission as early as possible 881 */ 882 if (pThis->fActivateEarly) 883 { 884 ASMAtomicXchgSize(&pThis->enmState, ASYNCSTATE_RUNNING); 885 RTSemEventSignal(pThis->EventSuspended); 886 } 865 887 866 888 LogRel(("IntNet#%u: cbRecv=%u cbSend=%u fRestrictAccess=%d\n", pDrvIns->iInstance, OpenReq.cbRecv, OpenReq.cbSend, OpenReq.fRestrictAccess));
Note:
See TracChangeset
for help on using the changeset viewer.