IIRC, that fix was done because we were leaving fd's unclosed, and thus continually consuming them. There is no reason not to bring it over, though it may take some cleanup to apply cleanly to the 1.3 branch. The question of bringing it to 1.3 was simply overlooked when it was done.
(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 unnecessarily.
devel mailing list