From: Martin Ling Date: Thu, 7 May 2015 08:41:02 +0000 (+0100) Subject: posix: Move FD_ZERO() and FD_SET() calls outside loops. X-Git-Tag: libserialport-0.1.1~31 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=772c586133ec5e069233bac08a0bb0e86b36a6e8;p=libserialport.git posix: Move FD_ZERO() and FD_SET() calls outside loops. --- diff --git a/serialport.c b/serialport.c index 39500f8..35b6ac5 100644 --- a/serialport.c +++ b/serialport.c @@ -787,11 +787,12 @@ SP_API enum sp_return sp_blocking_write(struct sp_port *port, const void *buf, timeradd(&start, &delta, &end); } + FD_ZERO(&fds); + FD_SET(port->fd, &fds); + /* Loop until we have written the requested number of bytes. */ while (bytes_written < count) { /* Wait until space is available. */ - FD_ZERO(&fds); - FD_SET(port->fd, &fds); if (timeout_ms) { gettimeofday(&now, NULL); if (timercmp(&now, &end, >)) { @@ -1002,11 +1003,12 @@ SP_API enum sp_return sp_blocking_read(struct sp_port *port, void *buf, timeradd(&start, &delta, &end); } + FD_ZERO(&fds); + FD_SET(port->fd, &fds); + /* Loop until we have the requested number of bytes. */ while (bytes_read < count) { /* Wait until data is available. */ - FD_ZERO(&fds); - FD_SET(port->fd, &fds); if (timeout_ms) { gettimeofday(&now, NULL); if (timercmp(&now, &end, >))