Perl opendir() допускает только одну операцию?

Попробуйте использовать OpenBSD 6.1/OpenLDAP 2.4.44, у меня все работает нормально -Когда я обновился до OpenBSD 6.2/OpenLDAP 2.4.45, у меня возникла та же проблема с ypldap, количество соединений ldap продолжает расти, и скорость зависит от какое значение интервала чтения ldap указано в файле ypldap.conf. Так что это звучит как ошибка для меня.

Обновление, это действительно ошибка в стабильной версии OpenBSD 6.2. Большое спасибо Стью из группы openbsd, который сообщил мне об этом. Я последовал его совету и у меня все получилось. Вот что он сказал :«Утечка дескриптора файла в ypldap была исправлена ​​после версии 6.2. Если у вас есть CVS-проверка исходного дерева версии 6.2, вы можете попробовать обновить только /usr/src/usr.sbin/ypldap до -текущий (переход в каталог, cvs up -PdA )затем перестроение (make obj; make; doas make install )."

1
02.02.2020, 09:16
1 ответ

Я бы использовалrewinddirмежду двумя сканированиями.

Каталог Perl -функции сканирования (как и многое другое в Perl )представляет собой тонкий слой над средой выполнения C. Открытие потока каталога позволяет вам читать записи в каталоге, по одному или несколько за раз. Но после прочтения они сделаны . Если вы хотите снова прочитать каталог, rewinddir— это то, что вам нужно сделать.

Для сравнения вот ссылки на POSIX (C )opendir,readdirи rewinddir.

4
28.04.2021, 23:24

Теги

Похожие вопросы