* fhandler.h (fhandler_tty_slave::close): Declare new function.
(fhandler_tty_slave::dup): Declare new function. (fhandler_tty_slave::fixup_after_function): Declare new function. * fhandler_tty.cc (fhandler_tty_slave_open): Only increment fhandler_console::open_fhs when associated with a pty. (fhandler_tty_slave::close): Define new function. Decrement fhandler_console::open_fhs when associated with a pty. (fhandler_tty_slave::dup): Define new function. Increment fhandler_console::open_fhs when associated with a pty. (fhandler_tty_slave::fixup_after_fork): Define new function. Increment fhandler_console::open_fhs when associated with a pty.
This commit is contained in:
parent
b99f1bf031
commit
c418817ed8
@ -1,3 +1,17 @@
|
||||
2003-03-03 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* fhandler.h (fhandler_tty_slave::close): Declare new function.
|
||||
(fhandler_tty_slave::dup): Declare new function.
|
||||
(fhandler_tty_slave::fixup_after_function): Declare new function.
|
||||
* fhandler_tty.cc (fhandler_tty_slave_open): Only increment
|
||||
fhandler_console::open_fhs when associated with a pty.
|
||||
(fhandler_tty_slave::close): Define new function. Decrement
|
||||
fhandler_console::open_fhs when associated with a pty.
|
||||
(fhandler_tty_slave::dup): Define new function. Increment
|
||||
fhandler_console::open_fhs when associated with a pty.
|
||||
(fhandler_tty_slave::fixup_after_fork): Define new function. Increment
|
||||
fhandler_console::open_fhs when associated with a pty.
|
||||
|
||||
2003-03-03 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
|
||||
|
@ -907,6 +907,9 @@ class fhandler_tty_slave: public fhandler_tty_common
|
||||
int tcgetattr (struct termios *t);
|
||||
int tcflush (int);
|
||||
int ioctl (unsigned int cmd, void *);
|
||||
int close ();
|
||||
int dup (fhandler_base *child);
|
||||
void fixup_after_fork (HANDLE parent);
|
||||
|
||||
__off64_t lseek (__off64_t, int) { return 0; }
|
||||
select_record *select_read (select_record *s);
|
||||
|
@ -552,12 +552,27 @@ fhandler_tty_slave::open (path_conv *, int flags, mode_t)
|
||||
set_output_handle (to_master_local);
|
||||
|
||||
set_open_status ();
|
||||
fhandler_console::open_fhs++;
|
||||
if (!output_done_event)
|
||||
{
|
||||
fhandler_console::open_fhs++;
|
||||
termios_printf ("incremented open_fhs %d", fhandler_console::open_fhs);
|
||||
}
|
||||
termios_printf ("tty%d opened", ttynum);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_tty_slave::close ()
|
||||
{
|
||||
if (!output_done_event)
|
||||
{
|
||||
fhandler_console::open_fhs--;
|
||||
termios_printf ("decremeted open_fhs %d", fhandler_console::open_fhs);
|
||||
}
|
||||
return fhandler_tty_common::close ();
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_tty_slave::cygserver_attach_tty (LPHANDLE from_master_ptr,
|
||||
LPHANDLE to_master_ptr)
|
||||
@ -814,6 +829,17 @@ fhandler_tty_slave::read (void *ptr, size_t& len)
|
||||
return;
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_tty_slave::dup (fhandler_base *child)
|
||||
{
|
||||
if (!output_done_event)
|
||||
{
|
||||
fhandler_console::open_fhs++;
|
||||
termios_printf ("incremented open_fhs %d", fhandler_console::open_fhs);
|
||||
}
|
||||
return fhandler_tty_common::dup (child);
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_tty_common::dup (fhandler_base *child)
|
||||
{
|
||||
@ -1058,7 +1084,6 @@ fhandler_tty_common::close ()
|
||||
termios_printf ("CloseHandle (get_output_handle ()<%p>), %E", get_output_handle ());
|
||||
|
||||
inuse = NULL;
|
||||
fhandler_console::open_fhs++;
|
||||
termios_printf ("tty%d <%p,%p> closed", ttynum, get_handle (), get_output_handle ());
|
||||
return 0;
|
||||
}
|
||||
@ -1202,6 +1227,17 @@ fhandler_tty_common::set_close_on_exec (int val)
|
||||
set_inheritance (output_handle, val);
|
||||
}
|
||||
|
||||
void
|
||||
fhandler_tty_slave::fixup_after_fork (HANDLE parent)
|
||||
{
|
||||
if (!output_done_event)
|
||||
{
|
||||
fhandler_console::open_fhs++;
|
||||
termios_printf ("incremented open_fhs %d", fhandler_console::open_fhs);
|
||||
}
|
||||
fhandler_tty_common::fixup_after_fork (parent);
|
||||
}
|
||||
|
||||
void
|
||||
fhandler_tty_common::fixup_after_fork (HANDLE parent)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user