diff --git a/serial-linux.go b/serial-linux.go index 63d16d9..0492bc1 100644 --- a/serial-linux.go +++ b/serial-linux.go @@ -48,8 +48,8 @@ func (s *serialPortStruct) writeLoop() { func (s *serialPortStruct) readLoop() { s.read = make(chan []byte) - b := make([]byte, maxSerialFrameLength) for { + b := make([]byte, maxSerialFrameLength) n, err := s.pty.Master.Read(b) if err != nil { if _, ok := err.(*os.PathError); !ok { diff --git a/serialstream.go b/serialstream.go index 42046b7..3d3110b 100644 --- a/serialstream.go +++ b/serialstream.go @@ -175,6 +175,9 @@ func (s *serialStream) loop() { if enableSerialDevice { for { select { + case r := <-s.serialPort.read: + s.gotDataForRadio(r) + case r := <-s.common.readChan: if err := s.handleRead(r); err != nil { reportError(err) @@ -194,9 +197,6 @@ func (s *serialStream) loop() { } else { for { select { - case r := <-s.serialPort.read: - s.gotDataForRadio(r) - case r := <-s.common.readChan: if err := s.handleRead(r); err != nil { reportError(err)