mirror of
git://sigrok.org/libserialport
synced 2023-08-10 21:13:24 +03:00
posix: Move FD_ZERO() and FD_SET() calls outside loops.
This commit is contained in:
parent
27911925c1
commit
772c586133
10
serialport.c
10
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, >))
|
||||
|
Loading…
Reference in New Issue
Block a user