Xterm hangs with latest Cygwin (-62?)

Yaakov (Cygwin/X) yselkowitz@users.sourceforge.net
Mon Oct 5 22:46:00 GMT 2009


On 05/10/2009 13:47, Corinna Vinschen wrote:
> And here's the problem.  Cygwin doesn't have TIOCSCTTY, and the only way
> to make a terminal a controlling tty in Cygwin is to call open() on it,
> which tcsh misses to do.  Bash, however, calls open("/dev/tty", O_RDWR),
> so bash doesn't have this problem.

Out of curiosity, what about implementing TIOCSCTTY?

> Unfortunately, luit has no alternative way to make the new tty the
> controlling tty.  What we need is a patch like this in luit:
>
> --- sys.c.ORIG	2009-10-05 19:23:58.000000000 +0200
> +++ sys.c	2009-10-05 19:18:34.000000000 +0200
> @@ -408,7 +408,11 @@ openTty(char *line)
>       int rc;
>       int tty = -1;
>
> +#ifdef __CYGWIN__
> +    tty = open(line, O_RDWR);
> +#else
>       tty = open(line, O_RDWR | O_NOCTTY);
> +#endif

For portability, perhaps this should also be #ifdef TIOCSCTTY, if these 
two sections go hand-in-hand?

> This works fine for me with tcsh now as well.  This patch is really
> important, since not only tcsh is affected by this.  If you call, for
> instance, `xterm -e /bin/vim', vim works, but it has no controlling tty
> either, as easily visible in `ps -e' output.  So a patch to tcsh would
> only fix this for tcsh, but not for any other application.
>
> As for the Cygwin bug, it has to do with the return value of tcgetpgrp,
> which appears to be incorrect in a couple of situations.  I'm not
> quite sure how to explain this, yet, nor if I really understood it.
> I'll follow up on this later this week on the cygwin-developers list.
>
> Yaakov, could you please generate a new luit package with the above
> patch?

Sure.

> P.S: I had to build luit manually for testing.  Building with cyport
> failed:
>
>    configure.ac:30: error: must install xorg-macros 1.3 or later before
>    running autoconf/autogen

xorg-util-macros 1.3 is part of the upcoming X11R7.5, which I planned to 
release in one upload once all the components are available, built, and 
tested.  The luit update was also slated to be part of that, but I moved 
it ahead to fix the previous bug reports.


Yaakov
Cygwin/X

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list