| Предыдущий | Следующий |
| EILSEQ | EPROTONOSUPPORT |
ESTRPIPE
ESTRPIPE — значение errno Solaris 92. Каталог errno Solaris описывает его как Если это канал/FIFO, не ожидать в головном модуле потока
и явно отмечает ошибку канала STREAMS как недоступную внешнему коду
. Это внутреннее управляющее состояние, а не пользовательская ошибка разорванного канала EPIPE.
Приложение почти никогда не должно получать это значение напрямую
Если обычный пользовательский процесс регистрирует ESTRPIPE как итоговое errno, сначала проверьте, где было получено число. Библиотека совместимости, компонент, взаимодействующий с ядром, слой трассировки или неправильное преобразование errno могут раскрыть внутреннее значение после того, как код, обычно обрабатывающий его, должен был поглотить это состояние. Сохраните стек вызовов и исходный путь возврата, прежде чем добавлять логику повторов в приложение.
При отладке ядра или STREAMS сосредоточьтесь на поведении ожидания и пробуждения головного модуля потока канала/FIFO рядом с операцией, которая передала значение. Не применяйте восстановление после разорванного канала, предназначенное для EPIPE: документированное значение Solaris является именно внутренним указанием не переходить в ожидание в головном модуле потока. Заголовочный файл illumos сохраняет то же символьное значение и комментарий.
Ссылки
- Oracle Solaris intro(2): ESTRPIPE
- illumos errno.h: ESTRPIPE
- Oracle Solaris: руководство по программированию STREAMS
Нужно найти другой код? Найти другой код состояния или ошибки.