Adhemerval Zanella e83be73091 posix: Fix open file action for posix_spawn on Linux
On posix_spawn open file action (issued by posix_spawn_file_actions_addopen)
POSIX states that if fildes was already an open file descriptor, it shall be
closed before the new file is openedi [1].  This avoid pontential issues when
posix_spawn plus addopen action is called with the process already at maximum
number of file descriptor opened and also for multiple actions on single-open
special paths (like /dev/watchdog).

This fixes its behavior on Linux posix_spawn implementation and also adds
a tests to check for its behavior.

Checked on x86_64.

	* posix/Makefile (tests): Add tst-spawn3.
	* posix/tst-spawn3.c: New file.
	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Close file descriptor
	if it is already opened for open action.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn_file_actions_addclose.html
2016-09-28 14:07:35 -07:00
..
2016-09-07 16:41:20 +00:00
2016-09-07 16:42:19 +00:00
2016-09-07 16:43:43 +00:00
2016-09-14 16:02:06 +02:00
2016-09-07 16:40:09 +00:00
2016-09-14 16:02:06 +02:00
2016-09-07 16:40:09 +00:00
2016-09-18 23:48:55 +02:00
2016-09-19 09:35:38 -03:00
2016-09-14 16:02:06 +02:00
2016-09-07 16:48:08 +00:00
2016-09-20 12:18:13 +02:00
2016-09-07 16:40:09 +00:00
2016-09-07 16:40:09 +00:00