fixed at least 1 bug in the uart handling code and cleaned it up a lot
diff --git a/bbb_cape/src/bbb/uart_reader.cc b/bbb_cape/src/bbb/uart_reader.cc
index 7b00c00..03cd248 100644
--- a/bbb_cape/src/bbb/uart_reader.cc
+++ b/bbb_cape/src/bbb/uart_reader.cc
@@ -52,8 +52,12 @@
   if (fd_ > 0) close(fd_);
 }
 
-int UartReader::ReadBytes(AlignedChar *dest, size_t max_bytes) {
-  return read(fd_, dest, max_bytes);
+ssize_t UartReader::ReadBytes(AlignedChar *dest, size_t max_bytes) {
+  do {
+    ssize_t r = read(fd_, dest, max_bytes);
+    if (r != -1) return r;
+  } while (errno == EINTR);
+  return -1;
 }
 
 }  // namespace bbb