diff options
author | Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> | 2014-01-17 06:30:08 +0200 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2014-01-22 22:55:25 +0100 |
commit | f9ea8850242a3afa9693c75e0b047acc6769ad44 (patch) | |
tree | a079424e5fa95e0933626c4e0c9f8a412ee2fd58 /libc/sysdeps/linux/common/vfork.c | |
parent | a7e8c6aa9b192075f17774c0bbdf6829f41ba62f (diff) |
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 <markos.chandras@imgtec.com>
CC: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
CC: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/common/vfork.c')
-rw-r--r-- | libc/sysdeps/linux/common/vfork.c | 6 |
1 files changed, 2 insertions, 4 deletions
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 <sys/syscall.h> -#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 <unistd.h> 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 |