Что означает код NTSTATUS 0x40000001 (STATUS_THREAD_WAS_SUSPENDED)?

 
Предыдущий Следующий
STATUS_OBJECT_NAME_EXISTS STATUS_WORKING_SET_LIMIT_RANGE

STATUS_THREAD_WAS_SUSPENDED

Приостановленный поток пришлось возобновить для завершения

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

Зафиксируйте, кто приостановил поток и кто инициировал завершение. Microsoft документирует SuspendThread прежде всего как механизм для отладчиков и предупреждает, что произвольная приостановка может оставить объекты синхронизации захваченными. Если при завершении регулярно обнаруживаются приостановленные рабочие потоки, исследуйте последовательность остановки и логику отладчика или сторожевого механизма.

Что следует проверить

  • Отследите вызовы приостановки и возобновления, а также счётчик приостановки потока.
  • Сопоставьте запрос завершения с действиями отладчика, сторожевого механизма или остановки процесса.
  • Не вызывайте дополнительно ResumeThread только потому, что был замечен этот информационный статус.

Ссылки


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