The problem is not that the *ports* are not closed (they are), but that
the other *files* (that are not port) are not closed.

When a program exec another one, it's supposed to close all files but 0,
1 and 2. open-process only closes the ports, so if you have other files
opened (that you have opened from C for instance) these files will be
communicated to the new process, which is not the intended behavior.

I state that open-process should _not_ try to close *ports*, but should
close all *files* (but 0, 1 and 2) instead.


Reply via email to