Что означает код errno 512 (ERESTARTSYS)?

 
Также может означать:
КонстантаТипОС
ECVPERORRerrnomacOS
Предыдущий Следующий
ECVCERORR ECVPERORR

ERESTARTSYS

ERESTARTSYS: решение о перезапуске зависит от signal policy

ERESTARTSYS — внутренний Linux kernel status для системного вызова, прерванного сигналом. Ядро либо перезапустит вызов, либо преобразует результат в EINTR в зависимости от обработчика и флага SA_RESTART.

Как и другие ERESTART* значения, этот код обычно виден только tracer или kernel-level instrumentation. Приложение должно обрабатывать конечный EINTR или обычный результат syscall, а не ERESTARTSYS напрямую.

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

  • Запишите interrupted syscall, доставленный signal и flags установленного handler.
  • Установите, наблюдается ли код через ptrace, strace, seccomp или внутри ядра.
  • Проверьте итоговое пользовательское значение: EINTR либо результат успешно перезапущенного вызова.
  • Не смешивайте ERESTARTSYS с ERESTARTNOINTR, где решение не зависит от SA_RESTART.

Ссылки для ERESTARTSYS


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