Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / errno = 24 / 9 сообщений из 9, страница 1 из 1
19.05.2007, 16:47
    #34537577
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
Программа сортировщик раскладывает найденные объекты в отдельные файлы по неким признакам. Имеется динамический список уже открытых файлов. Берется следующий объект, смотрится его признак, и проверяется, есть ли уже открытый файл для объектов такого рода. Если есть, то он кладется туда, если нет, то открывается новый файл, в него помещается объект, а файл помещается в список созданных.
Когда кол-во открытых файлов превышает 508 (или где-то так), новые перестают создаваться (errno = 24 - Too many open files).

Есть ли возможность разрешить приложению открывать больше файлов?? Или же это ограничение на уровне системы?
...
Рейтинг: 0 / 0
19.05.2007, 17:33
    #34537603
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
Усе, приплыл. Ядро крутить надо. Только вот зачем столько одновременно открытых? достаточно 3-х. Обычто merge делают попарно.
...
Рейтинг: 0 / 0
19.05.2007, 17:55
    #34537614
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
blindedУсе, приплыл. Ядро крутить надо. Только вот зачем столько одновременно открытых? достаточно 3-х. Обычто merge делают попарно.

это в виндосе
...
Рейтинг: 0 / 0
19.05.2007, 21:08
    #34537720
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
Ну дык и он не безграничен. Ты посмотри как работает unix sort - сначала сортирует по кускам, сваливая результаты в файлы, но при этом их аккуратно закрывает, потом берет их попарно и сливает, причем промежуточные итоги за собой удаляет. И так вот фактически древовидно работает, иначе тебе никаких ресурсов не хватит. Вотрос зачем самому маятся если файло текстовое. Дерни из migw sort.
...
Рейтинг: 0 / 0
20.05.2007, 07:22
    #34537892
IcyCool
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
Помтится в досе в config.sys максимальное количество открываемых файлов (кажется по умолчанию было 20) А нет ли подобногов винде?
...
Рейтинг: 0 / 0
20.05.2007, 11:49
    #34537984
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
TubrikКогда кол-во открытых файлов превышает 508 (или где-то так), новые перестают создаваться (errno = 24 - Too many open files).

Есть ли возможность разрешить приложению открывать больше файлов?? Или же это ограничение на уровне системы?

Я с трудом представляю себе постановку, в которой реально необходимо держать столько открытых файлов одновременно. По моему, вам необходимо подумать об, использовании пула файловых объектов. Или поменять постановку.
...
Рейтинг: 0 / 0
20.05.2007, 12:54
    #34538037
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
Т.е. мне открыть файл (если такой уже есть), дописать нужное значение, закрыть. И так с каждым, открывать и закрывать при записи?
...
Рейтинг: 0 / 0
20.05.2007, 15:44
    #34538159
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
Это обязательно столько файлов открывать?
Возможно ли признак хешировать ил нет? А соединение с фалами кешировать?
...
Рейтинг: 0 / 0
20.05.2007, 15:45
    #34538160
Tubrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
errno = 24
StubЭто обязательно столько файлов открывать?
Возможно ли признак хешировать ил нет? А соединение с фалами кешировать?

хешировать это как?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / errno = 24 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]