Changeset 50619 in vbox for trunk/src/VBox
- Timestamp:
- Feb 27, 2014 1:28:45 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DrvNAT.cpp
r50061 r50619 1077 1077 * - drvNatDnsChanged (darwin, GUI or main) "listener" 1078 1078 * When Main's interface IHost will support host network configuration change event on every host, 1079 * we won't call it from drvNATResume, but from listener of Main event in the similar way it done 1079 * we won't call it from drvNATResume, but from listener of Main event in the similar way it done 1080 1080 * for port-forwarding, and it wan't be on GUI/main thread, but on EMT thread only. 1081 1081 * 1082 * Thread here is important, because we need to change DNS server list and domain name (+ perhaps, 1082 * Thread here is important, because we need to change DNS server list and domain name (+ perhaps, 1083 1083 * search string) at runtime (VBOX_NAT_ENFORCE_INTERNAL_DNS_UPDATE), we can do it safely on NAT thread, 1084 * so with changing other variables (place where we handle update) the main mechanism of update 1085 * _won't_ be changed, the only thing will change is drop of fHostNetworkConfigurationEventListener parameter. 1084 * so with changing other variables (place where we handle update) the main mechanism of update 1085 * _won't_ be changed, the only thing will change is drop of fHostNetworkConfigurationEventListener parameter. 1086 1086 */ 1087 1087 DECLINLINE(void) drvNATHostNetworkConfigurationChangeEventStrategySelector(PDRVNAT pThis, … … 1091 1091 switch (strategy) 1092 1092 { 1093 1093 1094 1094 case VBOX_NAT_HNCE_DNSPROXY: 1095 1095 { 1096 1096 /** 1097 1097 * It's unsafe to to do it directly on non-NAT thread 1098 * so we schedule the worker and kick the NAT thread. 1098 * so we schedule the worker and kick the NAT thread. 1099 1099 */ 1100 1100 RTREQQUEUE hQueue = pThis->hSlirpReqQueue; 1101 1102 int rc = RTReqQueueCallEx(hQueue, NULL /*ppReq*/, 0 /*cMillies*/, 1101 1102 int rc = RTReqQueueCallEx(hQueue, NULL /*ppReq*/, 0 /*cMillies*/, 1103 1103 RTREQFLAGS_VOID | RTREQFLAGS_NO_WAIT, 1104 1104 (PFNRT)drvNATReinitializeHostNameResolving, 1, pThis); 1105 1105 if (RT_SUCCESS(rc)) 1106 drvNATNotifyNATThread(pThis, 1106 drvNATNotifyNATThread(pThis, 1107 1107 "drvNATHostNetworkConfigurationChangeEventStrategySelector"); 1108 1108
Note:
See TracChangeset
for help on using the changeset viewer.