Что означает код возврата ядра macOS 0xE00002EA (kIOReturnNoCompletion)?

 
Предыдущий Следующий
kIOReturnDeviceError kIOReturnAborted

kIOReturnNoCompletion

Предусловие асинхронной операции

kIOReturnNoCompletion означает, что требуется процедура завершения. Выбранный API или режим ожидает путь, по которому вызывающая сторона узнает о завершении, ошибке или отмене поставленной в очередь либо асинхронной работы. Это ошибка контракта, а не тайм-аут устройства.

Добавление пустого обратного вызова только ради подавления ошибки может потерять сведения о владении и очистке. Механизм завершения должен соответствовать правилам жизненного цикла интерфейса: он может освобождать буферы, наблюдать частичное завершение, планировать следующий запрос или останавливать работу после удаления. Проверьте контракт обратного вызова и отмены конкретного API.

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

  • Определите, является ли операция синхронной или асинхронной для выбранных интерфейса и режима.
  • До постановки запроса предоставьте документированную процедуру завершения, контекст и управление временем жизни объектов.
  • Убедитесь, что пути завершения, отмены и удаления освобождают ресурсы запроса ровно один раз.
  • Запишите, попал ли запрос в очередь; отсутствие обработчика можно обнаружить до начала ввода-вывода устройства.

Ссылки


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