From f9ea8850242a3afa9693c75e0b047acc6769ad44 Mon Sep 17 00:00:00 2001 From: Stefan Kristiansson Date: Fri, 17 Jan 2014 06:30:08 +0200 Subject: vfork: fix clone based version The clone based version was introduced by commit 58570fc8e1fd601f15be5758ab95013d56771804 vfork: Use clone if arch does not have the vfork syscall but the code was made unreachable by the previous commit 0a043c30ee71245dfe7c9d82d654312c5e1f6127 vfork: make all archs consistent that adds a guard which require either __NR_vfork or __NR_fork to be set. Neither will be set on an arch that would need to use the clone based version. The double declaration of vfork was also introduced by the merge of the two above mentioned patches. The missing ; was present in the original patch. CC: Markos Chandras CC: Bernhard Reutner-Fischer CC: Peter S. Mazinger Signed-off-by: Stefan Kristiansson Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/common/vfork.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'libc/sysdeps/linux/common') diff --git a/libc/sysdeps/linux/common/vfork.c b/libc/sysdeps/linux/common/vfork.c index a85156d38..81bcfc175 100644 --- a/libc/sysdeps/linux/common/vfork.c +++ b/libc/sysdeps/linux/common/vfork.c @@ -6,7 +6,7 @@ #include -#if (defined __NR_vfork || (defined __ARCH_USE_MMU__ && defined __NR_fork)) && (defined __USE_BSD || defined __USE_XOPEN_EXTENDED) +#if (defined __NR_vfork || defined __NR_clone || (defined __ARCH_USE_MMU__ && defined __NR_fork)) && (defined __USE_BSD || defined __USE_XOPEN_EXTENDED) # include extern __typeof(vfork) __vfork attribute_hidden; @@ -20,12 +20,10 @@ pid_t __vfork(void) NULL, NULL, NULL); if (pid < 0) - return -1 + return -1; return pid; } -weak_alias(__vfork, vfork) -libc_hidden_weak(vfork) # elif defined __NR_vfork # define __NR___vfork __NR_vfork -- cgit v1.2.3