[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081016122741.3b89f6f3@merlin.oi.pg.gda.pl>
Date: Thu, 16 Oct 2008 12:27:41 +0200
From: Adam Tlałka <atlka@...gda.pl>
To: Adam Tlałka <atlka@...gda.pl>
Cc: Bodo Eggert <7eggert@....de>, Alan Cox <alan@...rguk.ukuu.org.uk>,
linux-kernel@...r.kernel.org, torvalds@...l.org
Subject: Re: [PATCH 0/5] SIGWINCH problem with terminal apps still alive
Hello,
actual pty ioctl(,TIOCSWINSZ,) handling is broken IMHO.
I we do that action on normal tty (console for example)
some resize is done or not and resulting size variables are updated
and signal generated. In case of pty ioctl() on slave side it just sets
pty size variables, generates SIGWINCH, but terminal is not changed so
a terminal app will go crazy now. I propose changes which lead to more
consistent handling:
1. set in non pty master/slave case: no changes
2. set in pty master case: we update all sizes and do SIGWINCH on slave
side
3. set in pty slave case: we update only master variable and do
SIGWINCH on master side
4. read: master reads master variable while slave reads slave variable
Now if xterm resizes itself then a program on slave gets its signal
but if this program sets terminal sizes by ioctl then only xterm gets
the SIGWINCH signal and could read desired sizes by ioctl and then
resize itself and set valid sizes on slave side by another ioctl() call.
If it not supports this method then there will be no changes on slave
side. I think that it is more proper so on the slave side we will see
always actual values and if terminal resizes we will get SIGWINCH.
Signed-off-by: Adam Tla/lka <atlka@...gda.pl>
Regards
--
Adam Tlałka mailto:atlka@...gda.pl ^v^ ^v^ ^v^
System & Network Administration Group - - - ~~~~~~
Computer Center, Gdańsk University of Technology, Poland
View attachment "2.6.27_tty_io_5.patch" of type "text/x-patch" (3078 bytes)
Powered by blists - more mailing lists