Я написал параллельное приложение и обнаружил ошибку:
buildFdSets: дескриптор файла вне диапазона
Я обнаружил, что это предел ОС для числафайловых дескрипторов в одном процессе, в моем FreeBSD это 1024
.Это предел select()
.Также я узнал, что есть другой подход: kqueue()
.
Мои вопросы:
- Как выиграть ограничение на файловые дескрипторы?
- Как использовать
kqueue()
вместо select()
в программах на Haskell?