diff options
author | Christopher Faylor <me@cgf.cx> | 2001-11-01 21:15:53 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-11-01 21:15:53 +0000 |
commit | 1229d4f4eeec60957897cbf851adff5f61ab4df5 (patch) | |
tree | 070d8a75c184f67cf5aaade88b4903aa8d2743cb /winsup/cygwin/dtable.cc | |
parent | 5cf6708ef4559248ba751adc349af475e654be2a (diff) | |
download | cygnal-1229d4f4eeec60957897cbf851adff5f61ab4df5.tar.gz cygnal-1229d4f4eeec60957897cbf851adff5f61ab4df5.tar.bz2 cygnal-1229d4f4eeec60957897cbf851adff5f61ab4df5.zip |
* dtable.cc (dtable::build_fhandler): Issue internal error on unknown device.
* fhandler.cc (fhandler_base::close): Show both name and handle in debugging
output.
* fhandler.h (fhandler_base::get_guard): New virtual method.
(fhandler_pipe::get_guard): New method.
(fhandler_socket::ready_for_read): Delete declaration.
(fhandler_pipe::ready_for_read): Ditto.
(fhandler_serial::ready_for_read): Ditto.
(fhandler_console::ready_for_read): Ditto.
(fhandler_tty_common::ready_for_read): Ditto.
(fhandler_windows::ready_for_read): Ditto.
(struct select_record::peek): Declare new method.
* select.cc (MAKEready): Delete.
(peek_pipe): Use get_guard method to retrieve potential guard mutex handle.
(fhandler_base::ready_for_read): Rewrite as generic ready-for-read handler.
Should only be called for "slow" devices.
(fhandler_socket::ready_for_read): Delete definition.
(fhandler_pipe::ready_for_read): Ditto.
(fhandler_serial::ready_for_read): Ditto.
(fhandler_console::ready_for_read): Ditto.
(fhandler_tty_common::ready_for_read): Ditto.
(fhandler_windows::ready_for_read): Ditto.
(fhandler_pipe::select_read): Fill in new peek record in select_record
structure.
(fhandler_console::select_read): Ditto.
(fhandler_tty_common::select_read): Ditto.
(fhandler_serial::select_read): Ditto.
(fhandler_socket::select_read): Ditto.
(fhandler_socket::select_read): Ditto.
(fhandler_tty_slave::ready_for_read): Check for tty not open. Set errnos
appropriately.
* syscalls.cc (_read): Allow ready_for_read to set errno.
* pinfo.cc (pinfo::init): Return spawn/NO_WAIT process as valid if it is
initializing.
* sigproc.cc (getsem): Adjust wait for process to initialize downward to avoid
huge waits.
Diffstat (limited to 'winsup/cygwin/dtable.cc')
-rw-r--r-- | winsup/cygwin/dtable.cc | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc index b929b169e..e3b191788 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc @@ -325,14 +325,11 @@ dtable::build_fhandler (int fd, DWORD dev, const char *name, int unit) fh = cnew (fhandler_dev_dsp) (); break; default: - { - /* FIXME - this could recurse forever */ - path_conv pc; - return build_fhandler_from_name (fd, name, NULL, pc); - } + system_printf ("internal error -- unknown device - %p", dev); + fh = NULL; } - debug_printf ("%s - fd %d, fh %p", fh->get_name () ?: "", fd, fh); + debug_printf ("%s - fd %d, fh %p", fd, fh); return fd >= 0 ? (fds[fd] = fh) : fh; } |