diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2013-03-07 18:43:03 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2013-03-07 18:43:03 +0000 |
commit | 62bccf6b7538cafa63e0ea91ccb603f58417a49a (patch) | |
tree | 286f2aede6b0e5e1d6e68af582ac8c61836d1c09 /nuttx/ChangeLog | |
parent | 76494a2d103c88d1c3888a6f0348a6b7e31b564d (diff) | |
download | nuttx-62bccf6b7538cafa63e0ea91ccb603f58417a49a.tar.gz nuttx-62bccf6b7538cafa63e0ea91ccb603f58417a49a.tar.bz2 nuttx-62bccf6b7538cafa63e0ea91ccb603f58417a49a.zip |
Fix a whole in the logic from the previous check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5718 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/ChangeLog')
-rw-r--r-- | nuttx/ChangeLog | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 6e9434e19..753e4c88c 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -4262,3 +4262,22 @@ * arch/arm: Correct some bad syscall dispatching logic. This change cannot be fully tested until there is a fielded NuttX kernel build. (2013-03-06). + * net/net_poll.c: Correct logic that checks if the socket is + disconnected when the poll is setup. That is bad logic: Listen + sockets, for example, are not connected. In that case, the purpose of + the poll is to wait for connection events. As a result of this, + poll/select would return immediately with POLLHUP with it was used to + detect connection events. This fix for now was to check instead if + the socket is closed (meaning that it was connected at one time but + was closed by the remote peer). That excludes the listen socket which + was never connected. This does introduce a new problem, however. If + the socket was not closed, but lost the connection through an abnormal + event, then poll/select will hang. That needs to be revisited.\ + (2013-03-07) + * fs/fs_selected.c: Was not checking if the timeout parameter was NULL + but would, instead, setup a bogus timeout based on whatever it found at + address zero. Also, improved some of the memory allocation logic so + that it will not use so much memory. (2013-03-07) + * net/net_poll.c: Handle the missing case. Now tests for not connected + AND not listening. I think that now covers all of the cases including + the missing case noted above. (2013-03-07) |