summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2017-12-15 07:36:21 +0800
committerGitHub <[email protected]>2017-12-15 07:36:21 +0800
commitabbbecce989c5c064d521b3392aacac0cf10f53d (patch)
tree2e472cc2ecc5833839b04b239a929b1a4eb8884d
parentc77cebc4c042d7a9d32adf4b171093737f18510d (diff)
parent37e5985540e812d62a6a5da8fdd906c6d72336a1 (diff)
Merge pull request #1107 from aozima/lwip_dev
update for RT_USING_DFS_NET
-rw-r--r--components/dfs/filesystems/net/net_sockets.c7
-rw-r--r--components/dfs/src/select.c2
-rw-r--r--components/net/lwip-2.0.2/SConscript4
-rw-r--r--components/net/lwip-2.0.2/src/include/posix/errno.h33
4 files changed, 12 insertions, 34 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);
}
diff --git a/components/dfs/src/select.c b/components/dfs/src/select.c
index 36a8942331..c727763991 100644
--- a/components/dfs/src/select.c
+++ b/components/dfs/src/select.c
@@ -52,7 +52,7 @@ int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struc
/* Allocate the descriptor list for poll() */
if (npfds > 0)
{
- pollset = (struct pollfd *)rt_malloc(npfds * sizeof(struct pollfd));
+ pollset = (struct pollfd *)rt_calloc(npfds, sizeof(struct pollfd));
if (!pollset)
{
return -1;
diff --git a/components/net/lwip-2.0.2/SConscript b/components/net/lwip-2.0.2/SConscript
index 84125a4cb2..c86f67d07f 100644
--- a/components/net/lwip-2.0.2/SConscript
+++ b/components/net/lwip-2.0.2/SConscript
@@ -67,6 +67,10 @@ path = [GetCurrentDir() + '/src',
GetCurrentDir() + '/src/arch/include',
GetCurrentDir() + '/src/include/netif']
+if not GetDepend('RT_USING_POSIX') or not GetDepend('RT_USING_DFS_NET'):
+ path += [GetCurrentDir() + '/src/include/posix']
+ print('include /src/include/posix')
+
if GetDepend(['RT_LWIP_SNMP']):
src += snmp_src
path += [GetCurrentDir() + '/src/apps/snmp']
diff --git a/components/net/lwip-2.0.2/src/include/posix/errno.h b/components/net/lwip-2.0.2/src/include/posix/errno.h
deleted file mode 100644
index 5917c75e24..0000000000
--- a/components/net/lwip-2.0.2/src/include/posix/errno.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * @file
- * This file is a posix wrapper for lwip/errno.h.
- */
-
-/*
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
- * OF SUCH DAMAGE.
- *
- * This file is part of the lwIP TCP/IP stack.
- *
- */
-
-#include "lwip/errno.h"