* fhandler.h (fhandler_termios::fixup_after_exec): Make non-inlined.

* fhandler_termios.cc (fhandler_termios::fixup_after_exec): Don't call
fixup_after_fork if close_on_exec'ed.
This commit is contained in:
Christopher Faylor 2005-12-20 18:14:42 +00:00
parent e5340d82b2
commit 7c578a4fa0
3 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2005-12-20 Christopher Faylor <cgf@timesys.com>
* fhandler.h (fhandler_termios::fixup_after_exec): Make non-inlined.
* fhandler_termios.cc (fhandler_termios::fixup_after_exec): Don't call
fixup_after_fork if close_on_exec'ed.
2005-12-19 Christopher Faylor <cgf@timesys.com> 2005-12-19 Christopher Faylor <cgf@timesys.com>
* cygtls.h (_cygtls::interrupt_now): Subsume interruptible(). * cygtls.h (_cygtls::interrupt_now): Subsume interruptible().

View File

@ -777,7 +777,7 @@ class fhandler_termios: public fhandler_base
virtual DWORD __acquire_output_mutex (const char *fn, int ln, DWORD ms) {return 1;} virtual DWORD __acquire_output_mutex (const char *fn, int ln, DWORD ms) {return 1;}
virtual void __release_output_mutex (const char *fn, int ln) {} virtual void __release_output_mutex (const char *fn, int ln) {}
void fixup_after_fork (HANDLE); void fixup_after_fork (HANDLE);
void fixup_after_exec () { fixup_after_fork (NULL); } void fixup_after_exec ();
void echo_erase (int force = 0); void echo_erase (int force = 0);
virtual _off64_t lseek (_off64_t, int); virtual _off64_t lseek (_off64_t, int);
}; };

View File

@ -357,6 +357,13 @@ fhandler_termios::line_edit (const char *rptr, int nread, termios& ti)
return ret; return ret;
} }
void
fhandler_termios::fixup_after_exec ()
{
if (!close_on_exec ())
fixup_after_fork (NULL);
}
void void
fhandler_termios::fixup_after_fork (HANDLE parent) fhandler_termios::fixup_after_fork (HANDLE parent)
{ {