| Предыдущий | Следующий |
| ELIBSCN | EBADARCH |
ESTRPIPE
Что означает ESTRPIPE
ESTRPIPE исторически означает ошибочное состояние STREAMS pipe. В современном Linux этот errno встречается редко и обычно приходит из узкой подсистемы, драйвера или слоя совместимости. Его нельзя автоматически приравнивать к EPIPE: одинаковое слово «pipe» не означает одинаковый контракт восстановления.
Что проверить
- Зафиксируйте системный вызов или библиотечную функцию, которая непосредственно вернула
ESTRPIPE, и сохраните errno до следующего вызова. - Определите, есть ли в пути STREAMS-совместимый интерфейс, драйвер или адаптер, который мог преобразовать собственное состояние в этот errno.
- Сохраните descriptor, состояние очереди и событие, предшествовавшее ошибке; без этого код сам по себе слишком мало говорит о причине.
Как действовать
Следуйте правилам восстановления именно той подсистемы, которая вернула errno. Повтор допустим только после изменения состояния потока или если документация компонента прямо называет состояние временным. Бесконечный retry на том же descriptor обычно лишь воспроизводит исходное состояние.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.