[PATCH 0/4] Some fixes for PTY with pseudo console support (1)

Takashi Yano takashi.yano@nifty.ne.jp
Wed Sep 4 01:44:00 GMT 2019


[PATCH 1/4] Cygwin: pty: Code cleanup
- Cleanup the code which is commented out by #if 0 regarding pseudo
  console.
- Remove #if 1 for experimental code which seems to be stable.

[PATCH 2/4] Cygwin: pty: Speed up a little hooked Win32 API for pseudo console.
- Some Win32 APIs are hooked in pty code for pseudo console support.
  This causes slow down. This patch improves speed a little.

[PATCH 3/4] Cygwin: pty: Move function hook_api() into hookapi.cc.
- PTY uses Win32 API hook for pseudo console suppot. The function
  hook_api() is used for this purpose and defined in fhandler_tty.cc
  previously. This patch moves it into hookapi.cc.

[PATCH 4/4] Cygwin: pty: Limit API hook to the program linked with the APIs.
- API hook used for pseudo console support causes slow down.
  This patch limits API hook to only program which is linked
  with the corresponding APIs. Normal cygwin program is not
  linked with such APIs (such as WriteFile, etc...) directly,
  therefore, no slow down occurs. However, console access by
  cygwin.dll itself cannot switch the r/w pipe to pseudo console
  side. Therefore, the code to switch it forcely to pseudo
  console side is added to smallprint.cc and strace.cc.

Takashi Yano (4):
  Cygwin: pty: Code cleanup
  Cygwin: pty: Speed up a little hooked Win32 API for pseudo console.
  Cygwin: pty: Move function hook_api() into hookapi.cc.
  Cygwin: pty: Limit API hook to the program linked with the APIs.

 winsup/cygwin/fhandler_tty.cc | 136 +++++++++++-----------------------
 winsup/cygwin/hookapi.cc      |  34 +++++++++
 winsup/cygwin/smallprint.cc   |   5 ++
 winsup/cygwin/strace.cc       |  29 ++------
 winsup/cygwin/winsup.h        |   1 +
 5 files changed, 89 insertions(+), 116 deletions(-)

-- 
2.21.0



More information about the Cygwin-patches mailing list