Что означает код ошибки Windows 102 (ERROR_SEM_IS_SET)?

 
Также может означать:
КонстантаТипОС
HTTP_STATUS_PROCESSINGHTTP-статусЛюбая
ENETRESETerrnoLinux
EOPNOTSUPPerrnomacOS
EAFNOSUPPORTerrnoWindows
CACHE_INITIALIZATION_FAILEDКод BSODWindows
Предыдущий Следующий
ERROR_EXCL_SEM_ALREADY_OWNED ERROR_TOO_MANY_SEM_REQUESTS

ERROR_SEM_IS_SET

Что означает ERROR_SEM_IS_SET

ERROR_SEM_IS_SET означает, что вызывающая операция обнаружила semaphore уже установленным, хотя ожидалось другое состояние. Это прежде всего сигнал о нарушении synchronization sequence.

Что проверить

  • Зафиксируйте объект синхронизации и поток, который последним изменил его состояние.
  • Проверьте двойной set/release и пропущенный wait/reset.
  • Исключите повторное использование объекта после завершения предыдущей операции.
  • Не маскируйте гонку повторными вызовами без изменения состояния.

Исправление — сделать переходы semaphore однозначными и соответствующими контракту между потоками. После этого ошибка должна исчезнуть без специальных retry.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.