Re: TIOCPKT mode of PTY is broken if ONLCR bit is cleared.
On Mar 25 20:42, Takashi Yano wrote: Dear cygwin developers, Regarding this (http://cygwin.com/ml/cygwin/2015-02/msg00929.html) problem, I made a patch attached. Patch applied, thank you. Btw., there's a Freenode IRC channel #cygwin-developers. Feel free to join. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat pgpYS39MDks1r.pgp Description: PGP signature
Re: TIOCPKT mode of PTY is broken if ONLCR bit is cleared.
Dear cygwin developers, Regarding this (http://cygwin.com/ml/cygwin/2015-02/msg00929.html) problem, I made a patch attached. I have posted the patch to this ML with Corinna's directions. On Mon, 23 Mar 2015 11:08:23 +0100 Corinna Vinschen corinna-cyg...@cygwin.com wrote: However, due to the changes in fhandler_tty.cc, this patch doesn't apply cleanly anymore. Any chance you could resend it (ideally to the cygwin-patches ML) diff'ed against git HEAD? Please find a revised patch attached to this mail. ChangeLog is as follows: 2015-03-25 Takashi Yano takashi.y...@nifty.ne.jp * tty.h (class tty_min): Remove variable write_error to which any errors are not currently set at anywhere. (class tty): Add variable column for handling ONOCR. * tty.cc (tty::init): Add initialization code for variable column. * fhandler.h (class fhandler_pty_master): Remove variable need_nl which is not necessary any more. need_nl was needed by OPOST process in fhandler_pty_master::process_slave_output(). (class fhandler_pty_common): Add function process_opost_output() for handling post processing for OPOST in write process. * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Count TIOCPKT control byte into length to be read in TIOCPKT mode. Move post processing for OPOST to write process. Remove code related to variable write_error. Return with EIO error if slave is already closed. (fhandler_pty_master::fhandler_pty_master): Remove initialization code for variable need_nl. (fhandler_pty_common::process_opost_output): Add this function for handling of OPOST in write process. Add code to avoid blocking in non-blocking mode when output is suspended by ^S. (fhandler_pty_slave::write): Call fhandler_pty_common:: process_opost_output() instead of WriteFile(). Remove code related to variable write_error. (fhandler_pty_master::doecho): Call fhandler_pty_common:: process_opost_output() instead of WriteFile(). * select.cc (peek_pipe): Remove code related to variable need_nl. Best regards, Takashi Yano -- Takashi Yano takashi.y...@nifty.ne.jp cygwin.patch.20150325 Description: Binary data