lib/arduino_firmata/arduino.rb in arduino_firmata-0.3.2 vs lib/arduino_firmata/arduino.rb in arduino_firmata-0.3.3

- old
+ new

@@ -172,14 +172,19 @@ end end def read return if status == Status::CLOSE - if nonblock_io - @serial.read_nonblock @read_byte_size rescue EOFError - else - @serial.read @read_byte_size rescue EOFError + data = nil + begin + if nonblock_io + data = @serial.read_nonblock @read_byte_size + else + data = @serial.read @read_byte_size + end + rescue IOError, EOFError => e end + data end def process_input StringIO.new(String read).each_byte.each do |input_data| command = nil