Changeset 23426 in vbox
- Timestamp:
- Sep 30, 2009 7:56:52 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 53005
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/slirp/socket.c
r23424 r23426 597 597 len = M_FREEROOM(m); 598 598 /* if (so->so_fport != htons(53)) */ 599 { 600 rc = ioctlsocket(so->s, FIONREAD, &n); 601 if ( rc == -1 602 && ( errno == EAGAIN 603 || errno == EWOULDBLOCK 604 || errno == EINPROGRESS 605 || errno == ENOTCONN)) 606 { 607 m_free(pData, m); 608 return; 609 } 610 611 Log2(("NAT: %R[natsock] ioctlsocket before read " 612 "(rc:%d errno:%d, n:%d)\n", so, rc, errno, n)); 613 614 if (rc == -1 && signalled == 0) 615 { 616 LogRel(("NAT: can't fetch amount of bytes on socket %R[natsock], so message will be truncated.\n", so)); 617 signalled = 1; 618 m_free(pData, m); 619 return; 620 } 621 622 if (rc != -1 && n > len) 623 { 624 n = (m->m_data - m->m_dat) + m->m_len + n + 1; 625 m_inc(m, n); 626 len = M_FREEROOM(m); 627 } 599 rc = ioctlsocket(so->s, FIONREAD, &n); 600 if ( rc == -1 601 && ( errno == EAGAIN 602 || errno == EWOULDBLOCK 603 || errno == EINPROGRESS 604 || errno == ENOTCONN)) 605 { 606 m_free(pData, m); 607 return; 608 } 609 610 Log2(("NAT: %R[natsock] ioctlsocket before read " 611 "(rc:%d errno:%d, n:%d)\n", so, rc, errno, n)); 612 613 if (rc == -1 && signalled == 0) 614 { 615 LogRel(("NAT: can't fetch amount of bytes on socket %R[natsock], so message will be truncated.\n", so)); 616 signalled = 1; 617 m_free(pData, m); 618 return; 619 } 620 621 if (rc != -1 && n > len) 622 { 623 n = (m->m_data - m->m_dat) + m->m_len + n + 1; 624 m_inc(m, n); 625 len = M_FREEROOM(m); 628 626 } 629 627 ret = recvfrom(so->s, m->m_data, len, 0,
Note:
See TracChangeset
for help on using the changeset viewer.