From: cgf AT bbc DOT com (Christopher Faylor) Subject: Re: rxvt and latest Ian's changes. 2 Feb 1998 09:49:34 -0800 Message-ID: References: <01BD2FFE DOT 50C15C90 AT gater DOT krystalbank DOT msk DOT ru> Reply-To: gnu-win32-developers AT cygnus DOT com To: cygwin32-developers AT cygnus DOT com In article <01BD2FFE DOT 50C15C90 AT gater DOT krystalbank DOT msk DOT ru>, Sergey Okhapkin wrote: >Hi! > >Thu Jan 22 18:46:40 1998 Ian Lance Taylor > > * tty.h (class tty): Change slave_handles to int. > * tty.cc (fhandler_tty_slave::open): Check for invalid tty > handles. If this is the first slave, set slave_handles to 2; > otherwise, increment slave_handles. > (fhandler_tty_slave::close): Only close the tty handles if the > slave_handles field drops to 1. > >This changes fools rxvt. Rxvt does the following: > >pty = open("/dev/ptmx"); >slave = ptsname(pty); >lstat(slave); >tty = open(slave); > >Lstat call implemented in cygwin as fd=open(name); fstat(fd); close(fd). >This close call closes input_handle and output_handle in tty structure >(because number of slaves drops to 1) and tty=open(slave) call fails. Ian, >any ideas to fix it? As long as we're mentioning problems, I've also mentioned to Ian that this scenario confuses the 980124 snapshot with his changes: C:\>set CYGWIN_TTY=1 C:\>bash bash$ unset CYGWIN_TTY bash$ less # less will not process input Is this possibly because there is contention for the console input channel? -- http://www.bbc.com/ cgf AT bbc DOT com "Strange how unreal VMS=>UNIX Solutions Boston Business Computing the real can be."