Message219491
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. |
|
Date |
User |
Action |
Args |
2014-06-01 07:18:19 | gregory.p.smith | set | recipients:
+ gregory.p.smith, larry, akira, sstewartgallus |
2014-06-01 07:18:19 | gregory.p.smith | set | messageid: <1401607099.33.0.993676177896.issue21618@psf.upfronthosting.co.za> |
2014-06-01 07:18:19 | gregory.p.smith | link | issue21618 messages |
2014-06-01 07:18:18 | gregory.p.smith | create | |
|