Hi all,

I have encountered a strange behavior while running some pipes (the number
of "do" iterations may require some adjustment to trigger the effect):
(do 10000 (pipe (prin "A string") (make (while (rd 1) (link @)))))

The execution stops with an error like this (the actual number may vary)
? 1345 FD too high

In Termux this happened with something as low as 300. Note also that in
Termux I have a pretty high number of files that can be open at the same
time (~65K).

I would expect that the file descriptors are closed after the pipe
execution. I tested it and it seems that if one prints the (fd) at every
loop it is always the same number.
Why is this happening? It looks like the actual FD number in the underlying
system is too big...

Regards,
Davide

Reply via email to