summaryrefslogtreecommitdiffstats
path: root/lib/libpthread
diff options
context:
space:
mode:
authordt <dt@FreeBSD.org>1998-09-12 22:03:20 +0000
committerdt <dt@FreeBSD.org>1998-09-12 22:03:20 +0000
commit613a2bdfdecf9393b99b2c5db227a51a940e746b (patch)
tree3f061a428b7f6ca96bf141b620aae2439a24bfab /lib/libpthread
parent9aee196299648c93b416ff7774bda3da6934d78d (diff)
downloadFreeBSD-src-613a2bdfdecf9393b99b2c5db227a51a940e746b.zip
FreeBSD-src-613a2bdfdecf9393b99b2c5db227a51a940e746b.tar.gz
In libc_r, rename vfork syscall to _thread_sys_vfork and make vfork an alias
to fork. It is difficult to do real vfork in libc_r, since almost every operation with file descriptsor changes _thread_fd_table and friends. popen(3) works much better with this change.
Diffstat (limited to 'lib/libpthread')
-rw-r--r--lib/libpthread/thread/Makefile.inc3
-rw-r--r--lib/libpthread/thread/thr_vfork.c9
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/libpthread/thread/Makefile.inc b/lib/libpthread/thread/Makefile.inc
index 4fd3034..0c5c582 100644
--- a/lib/libpthread/thread/Makefile.inc
+++ b/lib/libpthread/thread/Makefile.inc
@@ -1,4 +1,4 @@
-# $Id: Makefile.inc,v 1.13 1998/06/01 02:14:34 jb Exp $
+# $Id: Makefile.inc,v 1.14 1998/09/07 19:01:43 alex Exp $
# uthread sources
.PATH: ${.CURDIR}/uthread
@@ -91,6 +91,7 @@ SRCS+= \
uthread_spec.c \
uthread_spinlock.c \
uthread_suspend_np.c \
+ uthread_vfork.c \
uthread_wait4.c \
uthread_write.c \
uthread_writev.c \
diff --git a/lib/libpthread/thread/thr_vfork.c b/lib/libpthread/thread/thr_vfork.c
new file mode 100644
index 0000000..bbfcf00
--- /dev/null
+++ b/lib/libpthread/thread/thr_vfork.c
@@ -0,0 +1,9 @@
+#include <unistd.h>
+#ifdef _THREAD_SAFE
+
+int
+vfork(void)
+{
+ return (fork());
+}
+#endif
OpenPOWER on IntegriCloud