| Предыдущий | Следующий |
| 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
Нужно найти другой код? Найти другой код состояния или ошибки.