From 01d82d82770de18628b0fc9f9be1c85c7abc294e Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sun, 6 Mar 2011 11:47:18 -0500 Subject: Fixing race condition in Serial write (Brian Cook). --- cores/arduino/HardwareSerial.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'cores/arduino') diff --git a/cores/arduino/HardwareSerial.cpp b/cores/arduino/HardwareSerial.cpp index 1cd8cc5..6738675 100644 --- a/cores/arduino/HardwareSerial.cpp +++ b/cores/arduino/HardwareSerial.cpp @@ -367,7 +367,6 @@ void HardwareSerial::flush() void HardwareSerial::write(uint8_t c) { - bool empty = (_tx_buffer->head == _tx_buffer->tail); int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE; // If the output buffer is full, there's nothing for it other than to @@ -378,11 +377,7 @@ void HardwareSerial::write(uint8_t c) _tx_buffer->buffer[_tx_buffer->head] = c; _tx_buffer->head = i; - if (empty) { - // The buffer was empty, so enable interrupt on - // USART Data Register empty. The interrupt handler will take it from there - sbi(*_ucsrb, _udrie); - } + sbi(*_ucsrb, _udrie); } // Preinstantiate Objects ////////////////////////////////////////////////////// -- cgit v1.2.3-18-g5258