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

Merge pull request #22 from Lawlieta/master

【修复】wiz_ping 错误地址时 shell 线程卡死问题(sendto timeout 处理问题)
朱天龙 (Armink) пре 7 година
родитељ
комит
ba458f385a
2 измењених фајлова са 4 додато и 1 уклоњено
  1. 2 0
      ioLibrary/Ethernet/wizchip_socket.c
  2. 2 1
      src/wiz_device.c

+ 2 - 0
ioLibrary/Ethernet/wizchip_socket.c

@@ -306,6 +306,7 @@ int8_t wizchip_disconnect(uint8_t sn)
 	{
 	   if(getSn_IR(sn) & Sn_IR_TIMEOUT)
 	   {
+	      setSn_IR(sn, Sn_IR_TIMEOUT);
 	      wizchip_close(sn);
 	      return SOCKERR_TIMEOUT;
 	   }
@@ -343,6 +344,7 @@ int32_t wizchip_send(uint8_t sn, uint8_t * buf, uint16_t len)
       }
       else if(tmp & Sn_IR_TIMEOUT)
       {
+         setSn_IR(sn, Sn_IR_TIMEOUT);
          wizchip_close(sn);
          return SOCKERR_TIMEOUT;
       }

+ 2 - 1
src/wiz_device.c

@@ -96,7 +96,8 @@ static void wiz_data_thread_entry(void *parameter)
                     }
                     if (sn_ir & Sn_IR_TIMEOUT)
                     {
-                        setSn_IR(socket, Sn_IR_TIMEOUT);
+                        /* deal with timeout event in the wiznet ioLibrary */
+                        //setSn_IR(socket, Sn_IR_TIMEOUT);
                     }
                 }
             }