aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/cygheap.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/cygheap.cc')
-rw-r--r--winsup/cygwin/cygheap.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 6859e43..0171f99 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -172,6 +172,16 @@ cygheap_fixup_in_child (bool execed)
}
}
+void
+init_cygheap::close_ctty ()
+{
+ debug_printf ("closing cygheap->ctty %p", cygheap->ctty);
+ cygheap->ctty->close ();
+ if (cygheap->ctty_on_hold == cygheap->ctty)
+ cygheap->ctty_on_hold = NULL;
+ cygheap->ctty = NULL;
+}
+
#define pagetrunc(x) ((void *) (((DWORD) (x)) & ~(4096 - 1)))
static void *__stdcall
@@ -206,6 +216,7 @@ cygheap_init ()
cygheap->fdtab.init ();
if (!cygheap->sigs)
sigalloc ();
+
if (!cygheap->shared_prefix)
cygheap->shared_prefix = cstrdup (
wincap.has_terminal_services ()