random...@fastmail.us writes: > On Wed, Jun 3, 2015, at 03:11, Alain Ketterlin wrote: >> Thank you, I know this. What I mean is: what are the reasons that you >> cannot access your file descriptors one by one? To me closing a range of >> descriptors has absolutely no meaning, simply because ranges have no >> meaning for file descriptors (they're not ordered in any way). What if >> some library uses its own descriptors that happen to lie in your >> "range"? Etc. > > The context in which this is useful is that you've just forked, and > you're about to exec. "Some library" isn't going to ever get back > control within the current process.
Any decent library will (on linux) use close-on-exec, or even have fini/dtor functions to clean up. Any that does not is buggy. But of course, if you shoot in their feet... > Generally the range of file descriptors you want to close is (e.g.) > 3-Infinity, after you've already got 0 1 and 2 pointing to where you > want them (whatever redirected file or pipe). Closing 3-... is meaningless, probably useless, and potentially harmful. -- Alain. -- https://mail.python.org/mailman/listinfo/python-list