summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authoraozima <[email protected]>2017-12-11 17:25:25 +0800
committeraozima <[email protected]>2017-12-14 16:52:46 +0800
commita2d1f21b43c8613848f025b5a9fbe77a5031641e (patch)
treef90a65ce177720261e15bccc4510a1b30f2161bf /components
parentc77cebc4c042d7a9d32adf4b171093737f18510d (diff)
[LWIP] fixed closesocket issues: socket has been closed, delete it from file system fd.
Diffstat (limited to 'components')
-rw-r--r--components/dfs/filesystems/net/net_sockets.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/components/dfs/filesystems/net/net_sockets.c b/components/dfs/filesystems/net/net_sockets.c
index a22fbdc9ad..4f33571129 100644
--- a/components/dfs/filesystems/net/net_sockets.c
+++ b/components/dfs/filesystems/net/net_sockets.c
@@ -327,6 +327,13 @@ RTM_EXPORT(socket);
int closesocket(int s)
{
int sock = dfs_net_getsocket(s);
+ struct dfs_fd *d;
+
+ d = fd_get(s);
+
+ /* socket has been closed, delete it from file system fd */
+ fd_put(d);
+ fd_put(d);
return lwip_close(sock);
}