* fhandler.h (fhandler_base::nohandle): Revert to standard implementation.

* dtable.cc (dtable::fixup_after_exec): Specifically reject releasing
nohandle() type fhandlers rather than relying on contents of io_handle.
(dtable::fixup_after_fork): Ditto.
* fhandler_termios.cc: Add includes necessary for definitions of have_execed
and have_execed_cygwin.
(fhandler_termios::sigflush): Don't flush console input when we've started a
non-Cygwin process.
This commit is contained in:
Christopher Faylor
2012-04-18 05:57:38 +00:00
parent c1d26a99cd
commit 55dcba98db
4 changed files with 20 additions and 11 deletions

View File

@ -241,20 +241,13 @@ class fhandler_base
IMPLEMENT_STATUS_FLAG (bool, wbinset)
IMPLEMENT_STATUS_FLAG (bool, rbinset)
IMPLEMENT_STATUS_FLAG (bool, nohandle)
IMPLEMENT_STATUS_FLAG (bool, did_lseek)
IMPLEMENT_STATUS_FLAG (query_state, query_open)
IMPLEMENT_STATUS_FLAG (bool, close_on_exec)
IMPLEMENT_STATUS_FLAG (bool, need_fork_fixup)
IMPLEMENT_STATUS_FLAG (bool, isclosed)
bool nohandle () const {return !!status.nohandle;}
bool nohandle (bool val)
{
if ((status.nohandle = val))
io_handle = INVALID_HANDLE_VALUE;
return val;
}
int get_default_fmode (int flags);
virtual void set_close_on_exec (bool val);