summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_tty.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2013-07-26 17:28:00 +0000
committerChristopher Faylor <me@cgf.cx>2013-07-26 17:28:00 +0000
commit033fe7d87f571555894c8d92a2c1f25c58c04c52 (patch)
tree43d0ca50df0b6ba472cb7e6f7a4632b510d62fa3 /winsup/cygwin/fhandler_tty.cc
parenta30f955d286e38b570f5e2ab59d5f096213e0328 (diff)
downloadcygnal-033fe7d87f571555894c8d92a2c1f25c58c04c52.tar.gz
cygnal-033fe7d87f571555894c8d92a2c1f25c58c04c52.tar.bz2
cygnal-033fe7d87f571555894c8d92a2c1f25c58c04c52.zip
cygwin directory changes:
* environ.cc (tty_is_gone): Delete. (known): Delete tty, add wincmdln. * globals.cc: Reorganize list of environment bools, remove explicit = false for slight load time optimization. (wincmdln): New global. * spawn.cc (child_info_spawn::worker): Honor wincmdln. doc directory changes: * new-features.sgml (ov-new1.7.23): Add new section. Mention wincmdln. * cygwinenv.xml: Mention wincmdln.
Diffstat (limited to 'winsup/cygwin/fhandler_tty.cc')
-rw-r--r--winsup/cygwin/fhandler_tty.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 34c879503..5efbf4328 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -96,7 +96,7 @@ fhandler_pty_common::__acquire_output_mutex (const char *fn, int ln,
{
if (strace.active ())
strace.prntf (_STRACE_TERMIOS, fn, "(%d): pty output_mutex (%p): waiting %d ms", ln, output_mutex, ms);
- if (ms == INFINITE)
+ if (0 && ms == INFINITE)
ms = 100;
DWORD res = WaitForSingleObject (output_mutex, ms);
if (res == WAIT_OBJECT_0)
@@ -145,6 +145,9 @@ fhandler_pty_common::__release_output_mutex (const char *fn, int ln)
void
fhandler_pty_master::doecho (const void *str, DWORD len)
{
+ static char buf[128 * 1024];
+ int buflen = process_slave_output (buf, sizeof (buf), false);
+ puts_readahead (buf, buflen);
acquire_output_mutex (INFINITE);
if (!WriteFile (to_master, str, len, &len, NULL))
termios_printf ("Write to %p failed, %E", to_master);