* fhandler_tty.cc (fhandler_tty_slave::init): Add additional checks to
determine when a process should grab control of a tty's pgid. Use being_debugged() for consistency. * debug.h (being_debugged): Remove vestige of win9x accommodation.
This commit is contained in:
parent
b64733135a
commit
73b6b43ed3
|
@ -1,3 +1,10 @@
|
|||
2010-09-20 Christopher Faylor <me+cygwin@cgf.cx>
|
||||
|
||||
* fhandler_tty.cc (fhandler_tty_slave::init): Add additional checks to
|
||||
determine when a process should grab control of a tty's pgid. Use
|
||||
being_debugged() for consistency.
|
||||
* debug.h (being_debugged): Remove vestige of win9x accommodation.
|
||||
|
||||
2010-09-19 Christopher Faylor <me+cygwin@cgf.cx>
|
||||
|
||||
* wincap.h (wincaps::has_buggy_thread_startup): Declare.
|
||||
|
|
|
@ -20,8 +20,7 @@ details. */
|
|||
#if !defined(_DEBUG_H_)
|
||||
#define _DEBUG_H_
|
||||
|
||||
#define being_debugged() \
|
||||
(IsDebuggerPresent () /* || GetLastError () == ERROR_PROC_NOT_FOUND*/)
|
||||
#define being_debugged() (IsDebuggerPresent ())
|
||||
|
||||
#ifndef DEBUGGING
|
||||
# define cygbench(s)
|
||||
|
|
|
@ -710,7 +710,13 @@ fhandler_tty_slave::init (HANDLE f, DWORD a, mode_t)
|
|||
flags = O_RDWR;
|
||||
|
||||
int ret = open (flags);
|
||||
if (ret && !cygwin_finished_initializing && !IsDebuggerPresent ())
|
||||
|
||||
/* We should only grab this when the parent process owns the pgid
|
||||
(which could happen when a cygwin process starts a DOS process which
|
||||
starts a cygwin process or when we are being started directly from a
|
||||
windows process, e.g., from the CMD prompt. */
|
||||
if (ret && !cygwin_finished_initializing && !being_debugged ()
|
||||
&& (myself->ppid == 1 || myself->ppid == tc->getpgid ()))
|
||||
{
|
||||
/* 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
|
||||
|
|
Loading…
Reference in New Issue