Review request for 5049299

Michael McMahon Michael.McMahon at Sun.COM
Tue Jun 30 09:48:05 UTC 2009


Roland McGrath wrote:
>> But...posix_spawn doesn't give you any way to delete *all* file descriptors
>> and if you try to collect them before spawning, there is a race in a
>> multithreaded program.
>>     
>
> This is something you should never want to do.  There is notoriously no
> good way to do it on some systems, where getdtablesize() can return
> RLIM_INFINITY and is not proper to use in a loop.
>
> Use FD_CLOEXEC when you open the descriptor in the first place.
>
>   
We also need to chdir() before calling exec. And while some descriptors
already have FD_CLOEXEC set, it's not easy to guarantee this for all of 
them.

- Michael.



More information about the core-libs-dev mailing list