Преглед изворни кода

dfs_net_close增加多任务支持

shaojinchun пре 5 година
родитељ
комит
c222a6a451
1 измењених фајлова са 9 додато и 3 уклоњено
  1. 9 3
      components/net/sal_socket/dfs_net/dfs_net.c

+ 9 - 3
components/net/sal_socket/dfs_net/dfs_net.c

@@ -55,9 +55,15 @@ static int dfs_net_write(struct dfs_fd *file, const void *buf, size_t count)
 
 static int dfs_net_close(struct dfs_fd* file)
 {
-    int socket = (int) file->fnode->data;
-
-    return sal_closesocket(socket);
+    int socket;
+    int ret = 0;
+
+    if (file->fnode->ref_count == 1)
+    {
+        socket = (int) file->fnode->data;
+        ret = sal_closesocket(socket);
+    }
+    return ret;
 }
 
 static int dfs_net_poll(struct dfs_fd *file, struct rt_pollreq *req)