* fhandler_termios.cc (tcinit): Remove previously applied change.
Replace with... * fhandler_tty.cc (fhandler_tty_slave::init): Become process group leader if called from dtable::init_std_file_from_handle. Add comment to explain.
This commit is contained in:
parent
3ee7760b3e
commit
05c98e076e
|
@ -1,3 +1,12 @@
|
||||||
|
2010-04-21 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
|
|
||||||
|
* fhandler_termios.cc (tcinit): Remove previously applied change.
|
||||||
|
Replace with...
|
||||||
|
* fhandler_tty.cc (fhandler_tty_slave::init): Become process group
|
||||||
|
leader if called from dtable::init_std_file_from_handle. Add comment
|
||||||
|
to explain.
|
||||||
|
|
||||||
2010-04-21 Corinna Vinschen <corinna@vinschen.de>
|
2010-04-21 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* dtable.cc (dtable::init_std_file_from_handle): Set access mask for
|
* dtable.cc (dtable::init_std_file_from_handle): Set access mask for
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* fhandler_termios.cc
|
/* fhandler_termios.cc
|
||||||
|
|
||||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
|
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009,
|
||||||
Red Hat, Inc.
|
2010 Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
@ -58,13 +58,6 @@ fhandler_termios::tcinit (tty_min *this_tc, bool force)
|
||||||
tc->pgid = myself->pgid;
|
tc->pgid = myself->pgid;
|
||||||
tc->initialized (true);
|
tc->initialized (true);
|
||||||
}
|
}
|
||||||
else if (myself->ppid == 1 && myself->pid == myself->pgid
|
|
||||||
&& myself->pgid == myself->sid)
|
|
||||||
/* We have been started from a non-Cygwin process. So we just become
|
|
||||||
tty process group leader.
|
|
||||||
TODO: Investigate how SIGTTIN should be handled with pure-windows
|
|
||||||
programs. */
|
|
||||||
tc->pgid = myself->pgid;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -719,6 +719,15 @@ fhandler_tty_slave::init (HANDLE f, DWORD a, mode_t)
|
||||||
flags = O_RDWR;
|
flags = O_RDWR;
|
||||||
|
|
||||||
int ret = open (flags);
|
int ret = open (flags);
|
||||||
|
if (ret && !cygwin_finished_initializing)
|
||||||
|
{
|
||||||
|
/* This only occurs when called from dtable::init_std_file_from_handle
|
||||||
|
We have been started from a non-Cygwin process. So we should become
|
||||||
|
tty process group leader.
|
||||||
|
TODO: Investigate how SIGTTIN should be handled with pure-windows
|
||||||
|
programs. */
|
||||||
|
tc->pgid = myself->pgid;
|
||||||
|
}
|
||||||
|
|
||||||
if (f != INVALID_HANDLE_VALUE)
|
if (f != INVALID_HANDLE_VALUE)
|
||||||
CloseHandle (f); /* Reopened by open */
|
CloseHandle (f); /* Reopened by open */
|
||||||
|
|
Loading…
Reference in New Issue