diff options
author | Christopher Faylor <me@cgf.cx> | 2001-09-24 21:50:44 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-09-24 21:50:44 +0000 |
commit | 35f879a6d0b6c24045570cf882d1474e1ab0de00 (patch) | |
tree | 958334eb496e1b3d8f1311d572d78092717787b7 /winsup/cygwin/dtable.cc | |
parent | 4367ec036fabc17ed167b798449537d2a05dda71 (diff) | |
download | cygnal-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/dtable.cc')
-rw-r--r-- | winsup/cygwin/dtable.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc index d39713365..e08ed4209 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc @@ -232,6 +232,7 @@ dtable::build_fhandler (int fd, const char *name, HANDLE handle, path_conv *pc) { int unit; DWORD devn; + fhandler_base *fh; if (!pc) devn = get_device_number (name, unit); @@ -265,7 +266,10 @@ dtable::build_fhandler (int fd, const char *name, HANDLE handle, path_conv *pc) devn = FH_DISK; } - return build_fhandler (fd, devn, name, unit); + fh = build_fhandler (fd, devn, name, unit); + if (pc) + fh->set_name (name, *pc); + return fh; } fhandler_base * |