glibc/sysdeps/unix
Adhemerval Zanella aa95a2414e posix: Do not use WNOHANG in waitpid call for Linux posix_spawn
As shown in some buildbot issues on aarch64 and powerpc, calling
clone (VFORK) and waitpid (WNOHANG) does not guarantee the child
is ready to be collected.  This patch changes the call back to 0
as before fe05e1cb6d fix.

This change can lead to the scenario 4.3 described in the commit,
where the waitpid call can hang undefinitely on the call.  However
this is also a very unlikely and also undefinied situation where
both the caller is trying to terminate a pid before posix_spawn
returns and the race pid reuse is triggered.  I don't see how to
correct handle this specific situation within posix_spawn.

Checked on x86_64-linux-gnu, aarch64-linux-gnu and
powerpc64-linux-gnu.

	* sysdeps/unix/sysv/linux/spawni.c (__spawnix): Use 0 instead of
	WNOHANG in waitpid call.
2017-10-23 13:31:26 -02:00
..
alpha
arm
bsd Hide internal __tcgetattr function [BZ #18822] 2017-10-01 17:48:24 -07:00
i386
inet Remove add-ons mechanism. 2017-10-05 15:58:13 +00:00
mips
powerpc
sh
sysv/linux posix: Do not use WNOHANG in waitpid call for Linux posix_spawn 2017-10-23 13:31:26 -02:00
x86_64
Implies
Makefile
clock_gettime.c hurd: Fix exposition of s/gettimeofday through timespec_s/get 2017-09-25 01:55:02 +02:00
clock_nanosleep.c
clock_settime.c hurd: Fix exposition of s/gettimeofday through timespec_s/get 2017-09-25 01:55:02 +02:00
confstr.h
get_child_max.c
getlogin.c
getlogin_r.c
getpagesize.c
grantpt.c
ifreq.c
make-syscalls.sh Fix make-syscalls.sh VDSO support for GCC 8. 2017-09-26 21:21:01 +00:00
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c
stime.c
syscall-template.S Remove cancellation support for syscall generation 2017-08-24 14:58:35 -03:00
syscall.S
syscalls.list posix: Consolidate Linux fsync syscall 2017-05-18 18:06:47 -03:00
sysdep.h