Site icon EfmSoft

Что означает код HRESULT 0x80098040 (WINBIO_E_DEADLOCK_DETECTED)?

 
Предыдущий Следующий
WINBIO_E_SESSION_HANDLE_CLOSED WINBIO_E_NO_PREBOOT_IDENTITY

WINBIO_E_DEADLOCK_DETECTED

WINBIO_E_DEADLOCK_DETECTED — результат защиты от ошибок параллелизма. Сеансы WBF могут доставлять асинхронные обратные вызовы, пока приложение одновременно отменяет операции, ожидает их, закрывает сеансы или управляет мониторами событий; вызов блокирующего или изменяющего состояние API из неподходящего обратного вызова или контекста блокировки может создать цикл, в который платформа отказывается входить.

Фиксируйте контекст вызова, а не только имя API

Microsoft предупреждает, что обратные вызовы событий не должны выполнять длительную работу, и документирует WinBioWait как блокирующую операцию ожидания незавершённой работы сеанса. При появлении этого HRESULT постройте временную последовательность блокировок и сеанса. Повтор на том же стеке обратного вызова может воспроизвести тот же цикл зависимостей и менее полезен, чем поиск межпоточного владения.

WinBioRegisterEventMonitor · WinBioWait


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

Exit mobile version