Change foo (void) to foo () for all c++ functions throughout. Remove all

fhandler_*::dump functions throughout.
* fhandler.h (fhandler_dev_mem::close): Remove pass-through function in favor
of virtual method.
(handler_dev_raw::close): Ditto.
(fhandler_dev_clipboard::fixup_after_exec): New method.
* fhandler_dev_mem.cc (fhandler_dev_mem::close): Eliminate pass through
* fhandler_dev_raw.cc (fhandler_dev_raw::close): Ditto.
* fhandler_clipboard.cc (fhandler_dev_clipboard::close): Don't go to extra
effort when execing.
(fhandler_dev_clipboard::fixup_after_exec): New function.
* fhandler_console.cc (fhandler_console::close): Don't do "extra stuff" when we
know we're execing.
* fhandler_disk_file.cc (fhandler_disk_file::close): Ditto.
* fhandler_dsp.cc (fhandler_dev_dsp::close): Ditto.
* fhandler_fifo.cc (fhandler_fifo.cc::close): Ditto.  function in favor of base
function.
* fhandler_random.cc (fhandler_dev_random::close): Ditto.
* fhandler_registry.cc (fhandler_registry::close): Ditto.
* fhandler_tty.cc (fhandler_tty_slave::close): Ditto.
* fhandler_virtual.cc (fhandler_virtual::close): Ditto.
* pinfo.cc (proc_waiter): Remove unneeded hExeced declaration.
* sigproc.cc: Ditto.
* winsup.h (hExeced): Define here.
* fhandler_virtual.cc (fhandler_virtual::fixup_after_exec): Just call close()
to reinitialize things to known state.
This commit is contained in:
Christopher Faylor
2005-07-05 03:16:46 +00:00
parent 26edeb6a7f
commit 2f9ae2ed94
35 changed files with 192 additions and 217 deletions

View File

@@ -612,20 +612,23 @@ out:
int
fhandler_tty_slave::close ()
{
if (!--cygheap->open_fhs && myself->ctty == -1)
FreeConsole ();
archetype->usecount--;
report_tty_counts (this, "closed", "decremented ", "");
if (archetype->usecount)
if (!hExeced)
{
if (!--cygheap->open_fhs && myself->ctty == -1)
FreeConsole ();
archetype->usecount--;
report_tty_counts (this, "closed", "decremented ", "");
if (archetype->usecount)
{
#ifdef DEBUGGING
if (archetype->usecount < 0)
system_printf ("error: usecount %d", archetype->usecount);
if (archetype->usecount < 0)
system_printf ("error: usecount %d", archetype->usecount);
#endif
termios_printf ("just returning because archetype usecount is != 0");
return 0;
termios_printf ("just returning because archetype usecount is != 0");
return 0;
}
}
termios_printf ("closing last open %s handle", ttyname ());
@@ -1208,8 +1211,11 @@ fhandler_tty_common::close ()
if (!ForceCloseHandle1 (get_output_handle (), to_pty))
termios_printf ("CloseHandle (get_output_handle ()<%p>), %E", get_output_handle ());
inuse = NULL;
set_io_handle (NULL);
if (!hExeced)
{
inuse = NULL;
set_io_handle (NULL);
}
return 0;
}
@@ -1235,7 +1241,8 @@ fhandler_pty_master::close ()
CloseHandle (get_ttyp ()->from_master);
if (get_ttyp ()->to_master)
CloseHandle (get_ttyp ()->to_master);
get_ttyp ()->init ();
if (!hExeced)
get_ttyp ()->init ();
}
return 0;