fixed select usage
diff --git a/bbb_cape/src/bbb/uart_reader.cc b/bbb_cape/src/bbb/uart_reader.cc
index 34b907b..9abb284 100644
--- a/bbb_cape/src/bbb/uart_reader.cc
+++ b/bbb_cape/src/bbb/uart_reader.cc
@@ -84,9 +84,6 @@
LOG(FATAL, "aos_uart_reader_set_tty_options(%d) failed with %d: %s\n",
fd_, errno, strerror(errno));
}
-
- FD_ZERO(&fd_set_);
- FD_SET(fd_, &fd_set_);
}
UartReader::~UartReader() {
@@ -99,7 +96,10 @@
::aos::time::Time timeout = timeout_time - ::aos::time::Time::Now();
if (timeout < ::aos::time::Time(0, 0)) return -2;
struct timeval timeout_timeval = timeout.ToTimeval();
- switch (select(fd_ + 1, &fd_set_, NULL, NULL, &timeout_timeval)) {
+ fd_set fds;
+ FD_ZERO(&fds);
+ FD_SET(fd_, &fds);
+ switch (select(fd_ + 1, &fds, NULL, NULL, &timeout_timeval)) {
case 0:
return -2;
case -1: