SciFi (29.03.2018 11:23, просмотров: 141) ответил Dingo на Снимаю шляпу: я так быстро код писать не умею! :'(
Там косяк: когда сдвигаем указатель хвоста, нужно проверять, что следующий не стёрт, и при необходимости сдвигать дальше: if (max)
{
// found it
// erase queue element
max->task = -1;
// move tail pointer, if necessary
while (tail != head && fifo[tail & (FIFO_SZ - 1)].task < 0)
{
tail++;
}
busy = true;
}
return busy;
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้