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

 
Предыдущий Следующий
kIOReturnNoSpace kIOReturnCannotWire

kIOReturnPortExists

Это не обязательно конфликт сетевого порта

kIOReturnPortExists означает, что порт уже существует. Общий заголовочный файл IOKit не определяет для этого состояния тип порта или область владения, поэтому его нельзя автоматически считать ошибкой привязки TCP- или UDP-порта. Значение зависит от API IOKit, службы или пути драйвера, который вернул состояние.

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

Как исследовать

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

Ссылки


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