]> sigrok.org Git - libsigrok.git/blobdiff - hardware/common/serial.c
serial: Only sleep when no characters are received.
[libsigrok.git] / hardware / common / serial.c
index 5490608ceeb5dffa92cf3e82ad8fb53f70c82968..557022c99733456151c40b267970401957817c4e 100644 (file)
@@ -27,7 +27,6 @@
 #ifdef _WIN32
 #include <windows.h>
 #else
-#include <glob.h>
 #include <termios.h>
 #include <sys/ioctl.h>
 #endif
@@ -787,7 +786,8 @@ SR_PRIV int serial_readline(struct sr_serial_dev_inst *serial, char **buf,
                if (g_get_monotonic_time() - start > timeout_ms)
                        /* Timeout */
                        break;
-               g_usleep(2000);
+               if (len < 1)
+                       g_usleep(2000);
        }
        if (*buflen)
                sr_dbg("Received %d: '%s'.", *buflen, *buf);
@@ -868,7 +868,8 @@ SR_PRIV int serial_stream_detect(struct sr_serial_dev_inst *serial,
                        sr_dbg("Detection timed out after %dms.", time);
                        break;
                }
-               g_usleep(byte_delay_us);
+               if (len < 1)
+                       g_usleep(byte_delay_us);
        }
 
        *buflen = ibuf;