]> sigrok.org Git - libsigrok.git/commitdiff
fluke-dmm: Mark serial read call as nonblocking.
authorMartin Ling <redacted>
Sun, 21 Sep 2014 17:12:48 +0000 (18:12 +0100)
committerUwe Hermann <redacted>
Wed, 24 Sep 2014 21:30:23 +0000 (23:30 +0200)
This call was already nonblocking since the driver opens the port with the
SERIAL_NONBLOCK flag. Only one byte is read. The case of 0 being returned
is not handled, but the call is only made if G_IO_IN occurred so in theory,
there should be a byte available. It might be wise to add handling for a
return of 0 nonetheless, as I'm not sure if this is always accurate.

src/hardware/fluke-dmm/fluke.c

index edb6734adbd06166a1204cbd02012c16f77e060f..242843dfc58f57316494fb2a663ed3bf21524d56 100644 (file)
@@ -501,7 +501,7 @@ SR_PRIV int fluke_receive_data(int fd, int revents, void *cb_data)
        if (revents == G_IO_IN) {
                /* Serial data arrived. */
                while(FLUKEDMM_BUFSIZE - devc->buflen - 1 > 0) {
-                       len = serial_read(serial, devc->buf + devc->buflen, 1);
+                       len = serial_read_nonblocking(serial, devc->buf + devc->buflen, 1);
                        if (len < 1)
                                break;
                        devc->buflen++;