summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/how-vfork-works.txt
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-09-24 21:50:44 +0000
committerChristopher Faylor <me@cgf.cx>2001-09-24 21:50:44 +0000
commit35f879a6d0b6c24045570cf882d1474e1ab0de00 (patch)
tree958334eb496e1b3d8f1311d572d78092717787b7 /winsup/cygwin/how-vfork-works.txt
parent4367ec036fabc17ed167b798449537d2a05dda71 (diff)
downloadcygnal-35f879a6d0b6c24045570cf882d1474e1ab0de00.tar.gz
cygnal-35f879a6d0b6c24045570cf882d1474e1ab0de00.tar.bz2
cygnal-35f879a6d0b6c24045570cf882d1474e1ab0de00.zip
* fhandler.h (fhandler_pipe::hit_eof): New method.
(writepipe_exists): New class element. (orig_pid): Ditto. (id): Ditto. (is_slow): Eliminate. * pipe.cc (fhandler_pipe::set_close_on_exec): Set inheritance on writepipe_exists, if it exists. (fhandler_pipe::hit_eof): New method, modelled after tty. (fhandler_pipe::dup): Duplicate writepipe_exists, if it exists. (make_pipe): Set up a dummy event for pipes on windows 9x. The nonexistence of this event means that the write side of the pipe has closed. (_dup): Move to syscalls.cc (_dup2): Ditto. * dtable.cc (dtable::build_fhandler): Fill out set_names here, if appropriate. * syscalls.cc (_open): Call set_names in build_fhandler.
Diffstat (limited to 'winsup/cygwin/how-vfork-works.txt')
-rw-r--r--winsup/cygwin/how-vfork-works.txt4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/how-vfork-works.txt b/winsup/cygwin/how-vfork-works.txt
index c45228cad..7148366db 100644
--- a/winsup/cygwin/how-vfork-works.txt
+++ b/winsup/cygwin/how-vfork-works.txt
@@ -28,8 +28,8 @@ the result of a vfork and closes the extra file handles.
This all relies on the fact that the child in a vfork call can affect
just about everything in the parent except for the parent's fds.
-The assumption is that you don't return from the call that invoked the
-vfork.
+The assumption is that a vfork is always just used as a method for
+starting a program.
The assumption is also that all of this is much faster than the
slow method that cygwin uses to implement fork().