(Or anyone else...)
As was reported on the user's list, we are consuming about 12 fds per
a.out. I have reproduced this with the 1.3 branch. I also have run
with the trunk, and we only consume about 6 fds per a.out.
From what I can tell, in the 1.3 branch we are opening 3 pipes that we
do not need. I have traced this to the fact that we call
orte_iof_base_setup_prefork() twice for each a.out that we fork/exec.
The calls occur from odls_default_fork_local_proc().
In the trunk, we only call the function once. It looks like we made a
change in the trunk version of odls_default_module.c 12 months ago that
change the way the trunk behaved.
If we fix this problem, then we can reduce the number of fds per a.out
from 12 to 6.
I am looking for some thoughts on this issue as the changeset I refer to
was done to fix other issues. There is no mention about opening pipes