瀏覽代碼

Fix flush function of TCP backend on Windows

Stéphane Raimbault 14 年之前
父節點
當前提交
e2c9f5fd4f
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      src/modbus-tcp.c

+ 4 - 1
src/modbus-tcp.c

@@ -346,7 +346,10 @@ int _modbus_tcp_flush(modbus_t *ctx)
             return -1;
         }
 
-        rc = recv(ctx->s, devnull, MODBUS_TCP_MAX_ADU_LENGTH, 0);
+        if (rc == 1) {
+            /* There is data to flush */
+            rc = recv(ctx->s, devnull, MODBUS_TCP_MAX_ADU_LENGTH, 0);
+        }
 #endif
         if (ctx->debug && rc != -1) {
             printf("\n%d bytes flushed\n", rc);