summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-03-05 10:28:53 +0000
committerEric Andersen <andersen@codepoet.org>2003-03-05 10:28:53 +0000
commita0e60c6d2e0839e3f87b1e0ac3af4be838b7c9ab (patch)
tree9cce6aa47b889b097366112b718f4f16cffdf76a /libc
parent27b9ce8b12c33868b29335b8faf4f3770d347c26 (diff)
Default to using fork() for vfork() when no arch specific
implementation of vfork is present.
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/common/Makefile2
-rw-r--r--libc/sysdeps/linux/common/vfork.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/Makefile b/libc/sysdeps/linux/common/Makefile
index d51fc4281..064626050 100644
--- a/libc/sysdeps/linux/common/Makefile
+++ b/libc/sysdeps/linux/common/Makefile
@@ -25,7 +25,7 @@ CSRC= waitpid.c getdnnm.c gethstnm.c getcwd.c ptrace.c \
cmsg_nxthdr.c longjmp.c open64.c ftruncate64.c mmap64.c \
truncate64.c getrlimit64.c setrlimit64.c creat64.c \
llseek.c pread_write.c _exit.c sync.c getdirname.c \
- sendfile64.c xstatconv.c getdents.c getdents64.c
+ sendfile64.c xstatconv.c getdents.c getdents64.c vfork.c
ifneq ($(strip $(EXCLUDE_BRK)),y)
CSRC+=sbrk.c
endif
diff --git a/libc/sysdeps/linux/common/vfork.c b/libc/sysdeps/linux/common/vfork.c
new file mode 100644
index 000000000..ba4f042ca
--- /dev/null
+++ b/libc/sysdeps/linux/common/vfork.c
@@ -0,0 +1,8 @@
+/* Trivial implementation for arches that lack vfork */
+#include <unistd.h>
+#include <sys/types.h>
+
+pid_t vfork(void)
+{
+ return fork();
+}