adjust posix_spawn dup2 action behavior to match future requirements
authorRich Felker <dalias@aerifal.cx>
Sun, 5 Nov 2017 22:26:48 +0000 (17:26 -0500)
committerRich Felker <dalias@aerifal.cx>
Sun, 5 Nov 2017 22:26:48 +0000 (17:26 -0500)
commit6fc6ca1a323bc0b6b9e9cdc8fa72221ae18fe206
tree2b523366bae1478eb28c9922331c127421e44e5f
parenteb03bde2f24582874cb72b56c7811bf51da0c817
adjust posix_spawn dup2 action behavior to match future requirements

the resolution to Austin Group issue #411 defined new semantics for
the posix_spawn dup2 file action in the (previously useless) case
where src and dest fd are equal. future issues will require the dup2
file action to remove the close-on-exec flag. without this change,
passing fds to a child with posix_spawn while avoiding fd-leak races
in a multithreaded parent required a complex dance with temporary fds.

based on patch by Petr Skocik. changes were made to preserve the
80-column formatting of the function and to remove code that became
unreachable as a result of the new functionality.
src/process/posix_spawn.c