[PATCH v7 0/4] Improve pseudo console support.

Takashi Yano takashi.yano@nifty.ne.jp
Thu Jan 28 03:26:10 GMT 2021


The new implementation of pseudo console support by commit bb428520
provides the important advantages, while there also has been several
disadvantages compared to the previous implementation.

These patches overturn some of them.

The disadvantage:
 1) The cygwin program which calls console API directly does not work.
is supposed to be able to be overcome as well, however, I am not sure
it is worth enough. This will need a lot of hooks for console APIs.
 --> Respecting Corinna's opinion, we decided not to implement this.

v3: Fix typeahead input issue in GDB. Several other bugs have also
    been fixed.
v4: Change the conditions for calling transfer_input() slightly in
    reset_switch_to_pcon() to avoid calling it if uncecessary or
    with no effect.
v5: Small bug fix in v4.
v6: Yet another bug fix.
    Add missing CloseHandle().
    Take into account when the master is running as a service (such
    as ssh session).
v7: Specify FILE_FLAG_OVERLAPPED for to_slave pipe to prevent
    PeekNamedPipe() from blocking in transfer_input().
    Simplify the code determining if the slave is reading.

Takashi Yano (4):
  Cygwin: pty: Inherit typeahead data between two input pipes.
  Cygwin: pty: Keep code page between non-cygwin apps.
  Cygwin: pty: Make apps using console APIs be able to debug with gdb.
  Cygwin: pty: Allow multiple apps to enable pseudo console
    simultaneously.

 winsup/cygwin/fhandler.h      |   22 +-
 winsup/cygwin/fhandler_tty.cc | 1123 +++++++++++++++++++++++++++------
 winsup/cygwin/select.cc       |    7 +-
 winsup/cygwin/spawn.cc        |  106 +++-
 winsup/cygwin/tty.cc          |   13 +-
 winsup/cygwin/tty.h           |   21 +-
 6 files changed, 1059 insertions(+), 233 deletions(-)

-- 
2.30.0



More information about the Cygwin-patches mailing list