summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/vfork.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/vfork.c')
-rw-r--r--libc/sysdeps/linux/common/vfork.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/common/vfork.c b/libc/sysdeps/linux/common/vfork.c
index d0a4d9a0e..2b043d293 100644
--- a/libc/sysdeps/linux/common/vfork.c
+++ b/libc/sysdeps/linux/common/vfork.c
@@ -1,11 +1,23 @@
+/*
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
/* Trivial implementation for arches that lack vfork */
#include <unistd.h>
#include <sys/types.h>
+#include <sys/syscall.h>
-extern __pid_t __fork (void) __THROW attribute_hidden;
+#ifdef __NR_fork
+libc_hidden_proto(fork)
-pid_t attribute_hidden __vfork(void)
+extern __typeof(vfork) __vfork attribute_hidden;
+pid_t __vfork(void)
{
- return __fork();
+ return fork();
}
-strong_alias(__vfork,vfork)
+libc_hidden_proto(vfork)
+weak_alias(__vfork,vfork)
+libc_hidden_weak(vfork)
+#endif