summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2018-03-09 08:34:43 +0800
committerBernard Xiong <[email protected]>2018-03-09 08:34:43 +0800
commitfe66f24c698948e0d7ff8ce6e1e97dc9fb0f83d5 (patch)
treeb4d75fba3e1bfae56de81db05cc9bd9157a51ccb
parent505dc4182ef51cc768b49eacad163a23220e3e57 (diff)
[DFS] Add lastdata for poll of netsocket
-rw-r--r--components/dfs/filesystems/net/dfs_net.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/components/dfs/filesystems/net/dfs_net.c b/components/dfs/filesystems/net/dfs_net.c
index 5e84c40540..67f8fe8a7f 100644
--- a/components/dfs/filesystems/net/dfs_net.c
+++ b/components/dfs/filesystems/net/dfs_net.c
@@ -21,6 +21,7 @@
* Date Author Notes
* 2015-02-17 Bernard First version
* 2016-05-07 Bernard Rename dfs_lwip to dfs_net
+ * 2018-03-09 Bernard Fix the last data issue in poll.
*/
#include <rtthread.h>
@@ -104,7 +105,7 @@ static int dfs_net_poll(struct dfs_fd *file, struct rt_pollreq *req)
rt_poll_add(&sock->wait_head, req);
level = rt_hw_interrupt_disable();
- if (sock->rcvevent)
+ if (sock->lastdata || sock->rcvevent)
{
mask |= POLLIN;
}