Explorar el Código

Merge pull request #17 from chenyong111/master

【修复】开启TLS 支持后 Socket 无法释放问题。
朱天龙 (Armink) hace 7 años
padre
commit
f87f819c34
Se han modificado 1 ficheros con 13 adiciones y 4 borrados
  1. 13 4
      webclient.c

+ 13 - 4
webclient.c

@@ -23,7 +23,7 @@
 #else
 #include <lwip/netdb.h>
 #include <lwip/sockets.h>
-#endif /* RT_USING_DFS_NET */
+#endif /* SAL_USING_POSIX */
 
 #include "webclient_internal.h"
 
@@ -1107,11 +1107,18 @@ int webclient_close(struct webclient_session *session)
     
 #ifdef WEBCLIENT_USING_TLS
     if(session->tls_session)
+    {
         mbedtls_client_close(session->tls_session);
+    }
+    else
+    {
+        if (session->socket >= 0)
+            closesocket(session->socket); 
+    }
 #else
     if (session->socket >= 0)
-        closesocket(session->socket);  
-#endif  
+        closesocket(session->socket); 
+#endif
     if(session->transfer_encoding)
         web_free(session->transfer_encoding);    
     if(session->content_type)
@@ -1125,8 +1132,10 @@ int webclient_close(struct webclient_session *session)
     if(session->location)
         web_free(session->location);
     if(session)
+    {
         web_free(session);
-
+        session = RT_NULL;
+    }
     return 0;
 }