RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Не хватает памяти при обработке длинных конвейеров


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : XPEH, 2:5050/13.29, http://zuko.mitm.ru/
To : valerius
Subj : Не хватает памяти при обработке длинных конвейеров

> Это происходит на любой команде просмотра манов. От размеров ман-страницы
> похоже не зависит. А зависит от длины конвейера команд. Если, например,
> убрать команду tbl, то команда исполняется -- страница форматируется.

я провел расследование и получил в очередной раз ожидаемые выводы.
нашь любимый шелл - \OS2\CMD.EXE является старым 16-битным приложением.
в нем использует модель памяти medium, при которой все данные лежат в одном сегменте, который не может быть больше 64 Кб.
у этой сволочи просто напросто кончается heap когда из него запускаешь много процессов, что и происходит при использовании трубопроводов.

проверка элементарна, для 100% повторяемости - набрать more|more|more|more|more|more|more|more.

выход есть такой - попытаться использовать другой шелл.
на текущий момент есть две замены, обе безплатны. это:

1. последняя версия 4os2402a.zip
(там же рядом есть и сорцы)
2. cmd.html

оба они насколько мне известно могут работать в роли COMSPEC заместо стандартного
CMD.EXE


Mon 10 May 2004 20:56 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.2.1) Gecko/20021




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.