mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-03-02 13:05:42 +08:00
Cygwin: Don't change pgid to ctty pgid under debugger
_pinfo::set_ctty sets myself's pgid to the ctty pgid if the process has been started from a non-Cygwin process. This isn't the right thing to do when started from GDB. GDB starts the application via standard Windows means, not via Cygwin fork/exec, so it's treated as being a non-Cygwin parent. But we want the app running in it's own process group. So skip this step when running under a debugger Signed-off-by: Corinna Vinschen <corinna-cygwin@cygwin.com>
This commit is contained in:
parent
cea4d92780
commit
86e4739e23
@ -554,7 +554,11 @@ _pinfo::set_ctty (fhandler_termios *fh, int flags)
|
|||||||
syscall_printf ("attaching %s sid %d, pid %d, pgid %d, tty->pgid %d, tty->sid %d",
|
syscall_printf ("attaching %s sid %d, pid %d, pgid %d, tty->pgid %d, tty->sid %d",
|
||||||
__ctty (), sid, pid, pgid, tc.getpgid (), tc.getsid ());
|
__ctty (), sid, pid, pgid, tc.getpgid (), tc.getsid ());
|
||||||
if (!cygwin_finished_initializing && !myself->cygstarted
|
if (!cygwin_finished_initializing && !myself->cygstarted
|
||||||
&& pgid == pid && tc.getpgid () && tc.getsid ())
|
&& pgid == pid && tc.getpgid () && tc.getsid ()
|
||||||
|
/* Even GDB starts app via CreateProcess which changes cygstarted.
|
||||||
|
This results in setting the wrong pgid here, so just skip this
|
||||||
|
under debugger. */
|
||||||
|
&& !being_debugged ())
|
||||||
pgid = tc.getpgid ();
|
pgid = tc.getpgid ();
|
||||||
|
|
||||||
/* May actually need to do this:
|
/* May actually need to do this:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user