Browse Source

Fix flush function of TCP backend on Windows

Stéphane Raimbault 14 năm trước cách đây
mục cha
commit
e2c9f5fd4f
1 tập tin đã thay đổi với 4 bổ sung1 xóa
  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);