Site icon EfmSoft

Что означает код errno 101 (ETIME)?

 
Также может означать:
КонстантаТипОС
ERROR_EXCL_SEM_ALREADY_OWNEDОшибка WindowsWindows
HTTP_STATUS_SWITCH_PROTOCOLSHTTP-статусЛюбая
ENETUNREACHerrnoLinux
EADDRNOTAVAILerrnoWindows
MEMORY1_INITIALIZATION_FAILEDКод BSODWindows
Предыдущий Следующий
ENETUNREACH EADDRNOTAVAIL

ETIME

На этой странице рассматривается состояние Тайм-аут ioctl STREAMS в Darwin. Транзакция управления STREAMS не завершилась в пределах тайм-аута протокола.

Имеет значение интерфейс, вернувший код

Обработка системных вызовов Darwin BSD: тайм-аут ioctl STREAMS в Darwin относится к Darwin errno и должен декодироваться по точному заголовку SDK или XNU, использованному целевой системой. Расширения Darwin и устаревшие имена STREAMS, связанные с этим тайм-аутом, могут отличаться наличием или нумерацией в других UNIX-подобных системах. В рамках Обработки системных вызовов Darwin BSD формулировка, связанная с ETIME, указывает на исходный интерфейс, но не доказывает, что код вернула современная подсистема с похожим названием.

Darwin назначает нескольким символам errno вне POSIX собственные значения и номера при диагностике тайм-аута ioctl STREAMS. При исследовании тайм-аута ioctl STREAMS в Darwin не декодируйте число по таблице Linux и не считайте, что тот же символ возвращается тем же API в другой ОС.

Запись об инциденте

СведенияНа какой вопрос отвечают
Ioctl, тайм-аут, стек модулей, ожидающее сообщение, состояние производителя или драйвера и события пробуждения.Связывают тайм-аут с конкретным действующим объектом API, а не только с переведённым сообщением.
Значение Darwin errno и версия заголовка SDK/XNU, по которому оно декодировано при диагностике тайм-аута ioctl STREAMS.Показывают, возникла ли ошибка в ABI вызывающей стороны, оболочке или поставщике при диагностике тайм-аута ioctl STREAMS.
Результат первого системного вызова или ioctl, а также процесс, поток и поколение объекта при диагностике тайм-аута ioctl STREAMS.Сохраняют первую границу до того, как errno может быть перезаписан при диагностике тайм-аута ioctl STREAMS.
Заведомо исправный объект того же класса в той же сборке macOS при диагностике тайм-аута ioctl STREAMS.Даёт контрольное сравнение на той же платформе.

Сохраните errno сразу после отказавшего вызова, вернувшего состояние Тайм-аут ioctl STREAMS в Darwin, до выполнения форматирования, трассировки, выделения памяти или очистки. Для Тайм-аут ioctl STREAMS в Darwin также сохраните возвращаемое значение функции, поскольку многие интерфейсы C сообщают об ошибке через него, а errno используют лишь как дополнительную информацию.

Контролируемые сравнения

  1. Отправьте минимальный контрольный запрос к той же конечной точке, отслеживая завершение. Изменившийся errno после теста означает новую границу, а не другую формулировку исходного тайм-аута.
  2. Немедленно сохраните errno и сравните связанное возвращаемое значение при диагностике тайм-аута ioctl STREAMS. После контроля повторите исходную операцию, чтобы результат оставался относящимся к тайм-ауту ioctl STREAMS в Darwin.
  3. Повторите тест с одним контролируемым объектом, сохранив идентификатор и песочницу без изменений при диагностике тайм-аута ioctl STREAMS. Во время проверки не меняйте двоичный файл, ABI заголовков и поставщика.

Особенно показательны ioctl, тайм-аут, стек модулей, ожидающее сообщение, состояние производителя или драйвера и события пробуждения. В качестве контроля отправьте минимальный запрос к той же конечной точке и отслеживайте завершение. Для состояния Тайм-аут ioctl STREAMS в Darwin эти данные позволяют отличить устаревший идентификатор или неподдерживаемый запрос от общего отказа поставщика без масштабных изменений узла.

Близкие интерпретации

Соблазнительное предположениеБолее безопасная интерпретация
Английская фраза считается переносимой между платформамиОшибка относится к обработке системных вызовов Darwin BSD; до применения таблицы errno другой платформы проверьте заголовки целевой системы и API, вернувший код
Повтор завершился успешно и стёр исходные данныеПовтор может заменить ошибку другим состоянием; заранее сохраните первый вызов, числовое значение и поколение объекта

Если оболочка преобразует состояние Тайм-аут ioctl STREAMS в Darwin в исключение или логическое значение, добавьте инструментирование ниже этой оболочки. Для Тайм-аут ioctl STREAMS в Darwin решающее значение имеет системный вызов, ioctl, функция CRT или точка входа совместимости, впервые предоставившая код.

Критерии устранения

Целевое исправление. Исправьте не отвечающий модуль или другую сторону и реализуйте ограниченные повторы с возможностью отмены.

Доказательство отсутствия регрессии. Контрольные операции завершаются или предсказуемо получают тайм-аут, не оставляя зависших сообщений или повторно используемого состояния. Проверьте один поддерживаемый граничный случай и один намеренно отрицательный случай, чтобы обработка состояния Тайм-аут ioctl STREAMS в Darwin оставалась явной.

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

Эти источники владельцев и стандартов определяют пространство имён и контракт подсистемы, необходимые для проверки Обработки системных вызовов Darwin BSD ETIME в установленной версии платформы.


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

Exit mobile version