diff options
Diffstat (limited to 'lib/libc/sys/vfork.2')
-rw-r--r-- | lib/libc/sys/vfork.2 | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/lib/libc/sys/vfork.2 b/lib/libc/sys/vfork.2 deleted file mode 100644 index 5fff122..0000000 --- a/lib/libc/sys/vfork.2 +++ /dev/null @@ -1,130 +0,0 @@ -.\" Copyright (c) 1980, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)vfork.2 8.1 (Berkeley) 6/4/93 -.\" $Id: vfork.2,v 1.9 1997/11/18 03:59:30 jdp Exp $ -.\" -.Dd June 4, 1993 -.Dt VFORK 2 -.Os BSD 4 -.Sh NAME -.Nm vfork -.Nd spawn new process in a virtual memory efficient way -.Sh SYNOPSIS -.Fd #include <unistd.h> -.Ft int -.Fn vfork void -.Sh DESCRIPTION -.Fn Vfork -can be used to create new processes without fully copying the address -space of the old process, which is horrendously inefficient in a paged -environment. It is useful when the purpose of -.Xr fork 2 -would have been to create a new system context for an -.Xr execve 2 . -.Fn Vfork -differs from -.Xr fork 2 -in that the child borrows the parent's memory and thread of -control until a call to -.Xr execve 2 -or an exit (either by a call to -.Xr exit 3 -or abnormally). -The parent process is suspended while the child is using its resources. -.Pp -.Fn Vfork -returns 0 in the child's context and (later) the pid of the child in -the parent's context. -.Pp -.Fn Vfork -can normally be used just like -.Xr fork 2 . -It does not work, however, to return while running in the childs context -from the procedure that called -.Fn vfork -since the eventual return from -.Fn vfork -would then return to a no longer existent stack frame. -Be careful, also, to call -.Xr _exit 2 -rather than -.Xr exit 3 -if you can't -.Xr execve 2 , -since -.Xr exit 3 -will flush and close standard I/O channels, and thereby mess up the -parent processes standard I/O data structures. -(Even with -.Xr fork 2 -it is wrong to call -.Xr exit 3 -since buffered data would then be flushed twice.) -.Sh SEE ALSO -.Xr _exit 2 , -.Xr execve 2 , -.Xr fork 2 , -.Xr rfork 2 , -.Xr sigvec 2 , -.Xr wait 2 , -.Xr exit 3 -.Sh RETURN VALUES -Same as for -.Xr fork 2 . -.Sh BUGS -This system call will be eliminated when proper system sharing -mechanisms are implemented. -Users should not depend on the memory -sharing semantics of -.Xr vfork 2 -as it will, in that case, be made synonymous to -.Xr fork 2 . -.Pp -To avoid a possible deadlock situation, -processes that are children in the middle -of a -.Fn vfork -are never sent -.Dv SIGTTOU -or -.Dv SIGTTIN -signals; rather, -output or -.Xr ioctl 2 -calls -are allowed -and input attempts result in an end-of-file indication. -.Sh HISTORY -The -.Fn vfork -function call appeared in -.Bx 3.0 . |