diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 6a43980c4..f31373d08 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2013-05-07 Christopher Faylor + + * fhandler_tty.cc (fhandler_pty_common::__acquire_output_mutex): Never + wait an INFINITE amount of time. Instead default to 1/10 second. + (fhandler_pty_slave::open): Just default to INFINITE wait rather than + (now) waiting longer than previously. + 2013-05-03 Christopher Faylor * spawn.cc (ILLEGAL_SIG_FUNC_PTR): New define. diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index 5949d0526..34c879503 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -96,6 +96,8 @@ 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) + ms = 100; DWORD res = WaitForSingleObject (output_mutex, ms); if (res == WAIT_OBJECT_0) { @@ -435,7 +437,7 @@ fhandler_pty_slave::open (int flags, mode_t) S_IFCHR | S_IRUSR | S_IWUSR | S_IWGRP, sd)) sa.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR) sd; - acquire_output_mutex (500); + acquire_output_mutex (INFINITE); inuse = get_ttyp ()->create_inuse (&sa); get_ttyp ()->was_opened = true; release_output_mutex ();