Przeglądaj źródła

fix: 销毁socket时错误的释放了互斥锁

ryancw 1 rok temu
rodzic
commit
ca15472699
1 zmienionych plików z 1 dodań i 2 usunięć
  1. 1 2
      W5500Client/RyanW5500Socket.c

+ 1 - 2
W5500Client/RyanW5500Socket.c

@@ -313,7 +313,7 @@ static int RyanW5500SocketDestory(RyanW5500Socket *sock)
     RT_ASSERT(NULL != sock);
     RT_ASSERT(NULL != sock);
 
 
     if (sock->magic != WIZ_SOCKET_MAGIC)
     if (sock->magic != WIZ_SOCKET_MAGIC)
-        goto next;
+        return -1;
 
 
     rlog_d("销毁套接字");
     rlog_d("销毁套接字");
     rt_mutex_take(RyanW5500Entry.socketMutexHandle, RT_WAITING_FOREVER); //
     rt_mutex_take(RyanW5500Entry.socketMutexHandle, RT_WAITING_FOREVER); //
@@ -359,7 +359,6 @@ static int RyanW5500SocketDestory(RyanW5500Socket *sock)
     setSn_IMR(sock->socket, 0);   // 设置套接字ISR状态支持
     setSn_IMR(sock->socket, 0);   // 设置套接字ISR状态支持
     memset(sock, 0, sizeof(RyanW5500Socket));
     memset(sock, 0, sizeof(RyanW5500Socket));
 
 
-next:
     rt_mutex_release(RyanW5500Entry.socketMutexHandle); // 释放互斥锁
     rt_mutex_release(RyanW5500Entry.socketMutexHandle); // 释放互斥锁
     return 0;
     return 0;
 }
 }