]> sigrok.org Git - libserialport.git/commitdiff
windows: Set fAbortOnError=FALSE.
authorMartin Ling <redacted>
Fri, 27 Mar 2015 22:43:14 +0000 (22:43 +0000)
committerUwe Hermann <redacted>
Sun, 29 Mar 2015 20:18:46 +0000 (22:18 +0200)
Since we're not handling and clearing receive errors (framing, parity and
overrun), we should turn them off to avoid crashing out with
ERROR_OPERATION_ABORTED in various calls if they occur. Invalid data
will then simply not end up in the buffer. This is consistent with our
current behaviour on posix/termios systems.

It might be nice to be able to inform calling code about receive errors, but I
can't see a good way to do this in a cross-platform way at the moment.

This fixes (parts of) bug #341.

serialport.c

index a9b88e656ea49e7bf6a37e7ad1bc01f3eec44642..f5859e224c75cb1a28b3867a34867f567ca8305f 100644 (file)
@@ -546,7 +546,7 @@ SP_API enum sp_return sp_open(struct sp_port *port, enum sp_mode flags)
        data.dcb.fDsrSensitivity = FALSE;
        data.dcb.fErrorChar = FALSE;
        data.dcb.fNull = FALSE;
-       data.dcb.fAbortOnError = TRUE;
+       data.dcb.fAbortOnError = FALSE;
 #else
        /* Turn off all fancy termios tricks, give us a raw channel. */
        data.term.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IMAXBEL);