Что означает код errno 85 (ERESTART)?

 
Также может означать:
КонстантаТипОС
ERROR_ALREADY_ASSIGNEDОшибка WindowsWindows
EBADEXECerrnomacOS
ELIBSCNerrnoSolaris
DATA_COHERENCY_EXCEPTIONКод BSODWindows
Предыдущий Следующий
ELIBBAD EBADEXEC

ERESTART

Что означает ERESTART в Linux

ERESTART означает «Прерванный системный вызов следует повторить». Для условия «Прерванный системный вызов следует повторить» код ERESTART нужно связывать с первым возвратившим его вызовом и контекстом: конкретный вызов, его аргументы и жизненный цикл используемого объекта.

После отказа, соответствующего «Прерванный системный вызов следует повторить», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для ERESTART исходная английская страница также выделяет EINTR, SA_RESTART, restart_syscall и If; эти данные полезно записать вместе с return value, потоком и временем события.

Диагностика

  • При ошибке «Прерванный системный вызов следует повторить» (Linux, ERESTART) запишите функцию, аргументы, return value и errno одной диагностической записью до любого следующего вызова.
  • При ошибке «Прерванный системный вызов следует повторить» (Linux, ERESTART) проверьте указатели, размеры, flags и жизненный цикл объекта относительно документации функции.
  • При ошибке «Прерванный системный вызов следует повторить» (Linux, ERESTART) сравните минимальный пример с реальной нагрузкой, меняя только одно условие за запуск.
  • При ошибке «Прерванный системный вызов следует повторить» (Linux, ERESTART) подтвердите исправление положительным тестом и намеренно отрицательным граничным случаем.

На платформе Linux исправление ERESTART считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Прерванный системный вызов следует повторить» без утечки ресурсов и потери первичной диагностики.

Ссылки для ERESTART


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