diff options
author | Matthijs Kooijman <matthijs@stdin.nl> | 2013-06-13 09:56:46 +0200 |
---|---|---|
committer | Matthijs Kooijman <matthijs@stdin.nl> | 2015-01-26 17:03:25 +0100 |
commit | 11ade32f20ce2779d99981947eac6b5c4e52f408 (patch) | |
tree | 4979a69826a0e3e55937e22f508ad4d0817a2655 /cores/arduino/wiring_shift.c | |
parent | cb36793486dd8d8d91c16984c423dbad4f4710a6 (diff) |
Fix race condition in SoftwareSerial::overflow()
If an interrupt causing overflow would occur between reading
_buffer_overflow and clearing it, this overflow condition would be
immediately cleared and never be returned by overflow().
By only clearing the overflow flag if an overflow actually occurred,
this problem goes away (worst case overflow() returns false even though
an overflow _just_ occurred, but then the next call to overflow() will
return true).
Diffstat (limited to 'cores/arduino/wiring_shift.c')
0 files changed, 0 insertions, 0 deletions