| Предыдущий | Следующий |
| ENAMETOOLONG | ENONET |
ENOSR
meta-description[Открытие STREAMS не смогло выделить очереди или структуру заголовка потока; Solaris описывает это как временную нехватку ресурсов.]ENOSR — значение errno Solaris 63, Исчерпаны ресурсы потоков
. Oracle документирует точный сбой времени открытия STREAMS: отсутствуют очереди STREAMS или структуры заголовка потока. Условие считается временным, поскольку другой процесс может освободить необходимые ресурсы.
Ищите нехватку ресурсов STREAMS, а не повреждённые данные
Запишите, какое устройство или конечная точка STREAMS открывалась и как часто приложение создаёт и закрывает потоки. Всплеск открытий может временно исчерпать конечный пул, а постоянный рост — указывать на неосвобождаемые дескрипторы или экземпляры потоков. Стек модулей имеет значение, поскольку при открытии потока могут выделяться очереди как для модулей, так и для заголовка потока.
Повтор с разумной задержкой может завершиться успешно после освобождения ресурсов. Плотный цикл, непрерывно открывающий новые потоки, способен усугубить нехватку. ENOSR отличается от ENOSTR, который означает применение специфической операции STREAMS к дескриптору, не являющемуся потоком, и от EBADMSG, относящегося к несовместимому сообщению в заголовке потока.
Ссылки
- Oracle Solaris: исчерпаны ресурсы потоков
- Руководство Oracle Solaris по программированию STREAMS
- Oracle Solaris intro(2): ENOSR
Нужно найти другой код? Найти другой код состояния или ошибки.