Gregory P. Smith added the comment:

Here's a patch with a unittest that reproduces the problem with fixes to stop 
using any end_fds.  The max fd is only ever used in the absolute fallback 
situation where no way to get a list of open fd's is available. In that case it 
is obtained from sysconf() at the time it is needed rather than module load 
time as sysconf() is async-signal-safe.

I'm not worried about calling close() an additional time on EINTR in the single 
threaded child process prior to exec().  The most that will happen is one extra 
call with a different error if the fd is in a bad state from the previous one.  
That is better than any chance of one being left open.

----------
stage:  -> patch review
type: security -> behavior
Added file: http://bugs.python.org/file35425/issue21618-34-gps01.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue21618>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to