summaryrefslogtreecommitdiff
path: root/components/net
diff options
context:
space:
mode:
authorchenyong <[email protected]>2018-08-31 12:56:39 +0800
committerchenyong <[email protected]>2018-08-31 14:08:04 +0800
commita8c9b2fee31b8c9ce2a7e08baee0b0a01d810c1e (patch)
tree4f1d70eb633fe7ef292cffa335c624029d1da018 /components/net
parent87c35d4e2f1319ac284493595defcf66871a9d45 (diff)
[net][at] Modify 'AT+CLOSE' processing method
Diffstat (limited to 'components/net')
-rw-r--r--components/net/at/at_socket/at_socket.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/components/net/at/at_socket/at_socket.c b/components/net/at/at_socket/at_socket.c
index f754ad52a7..d300415d86 100644
--- a/components/net/at/at_socket/at_socket.c
+++ b/components/net/at/at_socket/at_socket.c
@@ -385,6 +385,9 @@ int at_closesocket(int socket)
return -1;
}
+ /* deal with TCP server actively disconnect */
+ rt_thread_delay(rt_tick_from_millisecond(100));
+
sock = at_get_socket(socket);
if (sock == RT_NULL)
{
@@ -401,6 +404,7 @@ int at_closesocket(int socket)
if (at_dev_ops->at_closesocket(socket) != 0)
{
LOG_E("AT socket (%d) closesocket failed!", socket);
+ return -1;
}
}
@@ -427,6 +431,7 @@ int at_shutdown(int socket, int how)
if (at_dev_ops->at_closesocket(socket) != 0)
{
LOG_E("AT socket (%d) shutdown failed!", socket);
+ return -1;
}
}