Fixed bug #29332: lwip_select() processes readset incorrectly

This commit is contained in:
goldsimon 2010-03-25 12:19:39 +00:00
parent cf0b831971
commit 5ef976aed5
2 changed files with 4 additions and 1 deletions

View File

@ -169,6 +169,9 @@ HISTORY
++ Bugfixes: ++ Bugfixes:
2010-03-25: Simon Goldschmidt
* sockets.c: Fixed bug #29332: lwip_select() processes readset incorrectly
2010-03-25: Simon Goldschmidt 2010-03-25: Simon Goldschmidt
* tcp_in.c, test_tcp_oos.c: Fixed bug #29080: Correctly handle remote side * tcp_in.c, test_tcp_oos.c: Fixed bug #29080: Correctly handle remote side
overrunning our rcv_wnd in ooseq case. overrunning our rcv_wnd in ooseq case.

View File

@ -998,7 +998,7 @@ lwip_selscan(int maxfdp1, fd_set *readset_in, fd_set *writeset_in, fd_set *excep
SYS_ARCH_UNPROTECT(lev); SYS_ARCH_UNPROTECT(lev);
/* ... then examine it: */ /* ... then examine it: */
/* See if netconn of this socket is ready for read */ /* See if netconn of this socket is ready for read */
if (readset_in && FD_ISSET(i, readset_in) && (lastdata != NULL) || (rcvevent > 0)) { if (readset_in && FD_ISSET(i, readset_in) && ((lastdata != NULL) || (rcvevent > 0))) {
FD_SET(i, &lreadset); FD_SET(i, &lreadset);
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_selscan: fd=%d ready for reading\n", i)); LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_selscan: fd=%d ready for reading\n", i));
nready++; nready++;