История изменений
Исправление shkolnick-kun, (текущая версия) :
Обычно достаточно mutex_lock/_unlock и выключенной оптимизации (зачем она там, где есть Linux?).
Если в таких условиях что-то портится, значит надо искать ошибку, не связанную с критическими секциями.
Можно попробовать статический анализатор кода, или тесты какие написать...
Я вот сейчас собираюсь проанализировать BuguRTOS при помощи adlint (на самом деле уже, но у меня он старый, варнинги на отключаются, много мусора в отчете).
Исходная версия shkolnick-kun, :
Обычно достаточно mutex_lock/_unlock и выключенной оптимизации (зачем она там, где есть Linux?).
Если в таких условиях что-то портится, значит надо искать ошибку, не связанную с критическими секциями.
Можно попробовать статический анализатор кода, или тесты какие написать...
Я вот сейчас собираюсь проанализировать BuguRTOS при помощи adlint (на самом деле уже, но у меня он старый, не все варнинги отключаются, много мусора в отчете).