| Предыдущий | Следующий |
| STATUS_RING_PREVIOUSLY_EMPTY | STATUS_RING_PREVIOUSLY_ABOVE_QUOTA |
STATUS_RING_PREVIOUSLY_FULL
Что означает STATUS_RING_PREVIOUSLY_FULL
STATUS_RING_PREVIOUSLY_FULL описывает переход кольцевого буфера: до текущего consumer operation ring был полон, а после чтения или освобождения записи в нём появилось место. Сам по себе status не означает corruption или потерю данных.
Что проверить
- Сохраните read/write indices до и после operation и размер освобождённой записи.
- Проверьте механизм уведомления producer, если он мог заснуть из-за состояния full.
- Убедитесь, что memory barriers не позволяют producer видеть устаревший consumer index.
Если поток зависает
Ищите lost wakeup или нарушение publication ordering: producer должен либо возобновить запись после появления места, либо явно оставаться idle из-за отсутствия новых данных. Повторное чтение без анализа indices не диагностирует причину stall.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.