Changeset 41812 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Jun 18, 2012 11:42:35 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/slirp.c
r41453 r41812 283 283 pSocket->fUnderPolling = 0; 284 284 sofree(pData, pSocket); 285 /* sois PHANTOM, now */285 /* pSocket is PHANTOM, now */ 286 286 return 1; 287 287 } … … 1085 1085 1086 1086 1087 /** 1088 * This function do Connection or sending tcp sequence to. 1089 * @returns if true operation completed 1090 * @note: functions call tcp_input that potentially could lead to tcp_drop 1091 */ 1087 1092 static bool slirpConnectOrWrite(PNATState pData, struct socket *so, bool fConnectOnly) 1088 1093 { … … 1353 1358 ) 1354 1359 { 1355 if(!slirpConnectOrWrite(pData, so, false)) 1360 int fConnectOrWriteSuccess = slirpConnectOrWrite(pData, so, false); 1361 /* slirpConnectOrWrite could return true even if tcp_input called tcp_drop, 1362 * so we should be ready to such situations. 1363 */ 1364 if (slirpVerifyAndFreeSocket(pData, so)) 1365 CONTINUE(tcp); 1366 else if (!fConnectOrWriteSuccess) 1356 1367 { 1357 if (!slirpVerifyAndFreeSocket(pData, so)) 1358 so->fUnderPolling = 0; 1368 so->fUnderPolling = 0; 1359 1369 CONTINUE(tcp); 1360 1370 } 1371 /* slirpConnectionOrWrite succeeded and socket wasn't dropped */ 1361 1372 } 1362 1373
Note:
See TracChangeset
for help on using the changeset viewer.