Чтобы не было гонок, у меня в кольцевом буфере флажок занятости
есть. Скажем, начал я что-то делать, сначала проверяется флаг, а дальше уж, если занято, возвращается ошибка - ОК, попробуем в следующий раз.
А вот до введения флага была та еще котовасия: в суперлупе пишутся данные, вдруг возникает прерывание, этот же буфер считывается, возвращается назад - и в буфере появляется мусор…
Разве что, надо мне атомарным этот флаг как-то сделать, наверное.