浏览代码

[net][at] Modify AT socket object release judgment

chenyong 6 年之前
父节点
当前提交
33a5cf15ee
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      components/net/at/at_socket/at_socket.c

+ 6 - 2
components/net/at/at_socket/at_socket.c

@@ -404,11 +404,13 @@ int at_closesocket(int socket)
         if (at_dev_ops->at_closesocket(socket) != 0)
         if (at_dev_ops->at_closesocket(socket) != 0)
         {
         {
             LOG_E("AT socket (%d) closesocket failed!", socket);
             LOG_E("AT socket (%d) closesocket failed!", socket);
+            free_socket(sock);
             return -1;
             return -1;
         }
         }
     }
     }
 
 
-    return free_socket(sock);
+    free_socket(sock); 
+    return 0;
 }
 }
 
 
 int at_shutdown(int socket, int how)
 int at_shutdown(int socket, int how)
@@ -431,11 +433,13 @@ int at_shutdown(int socket, int how)
         if (at_dev_ops->at_closesocket(socket) != 0)
         if (at_dev_ops->at_closesocket(socket) != 0)
         {
         {
             LOG_E("AT socket (%d) shutdown failed!", socket);
             LOG_E("AT socket (%d) shutdown failed!", socket);
+            free_socket(sock);
             return -1;
             return -1;
         }
         }
     }
     }
 
 
-    return free_socket(sock);
+    free_socket(sock);
+    return 0;
 }
 }
 
 
 int at_bind(int socket, const struct sockaddr *name, socklen_t namelen)
 int at_bind(int socket, const struct sockaddr *name, socklen_t namelen)