1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Fix Ctrl+D after ksh receives SIGWINCH (#208)

src/cmd/ksh93/edit/edit.c: ed_read():
- The loop that handles SIGWINCH assumes sfpkrd will return and
  set errno to EINTR if ksh is sent SIGWINCH. This only occurs
  when select(2) is used to wait for input, so tell sfpkrd to
  use select if possible. This is only done if the last argument
  given to sfpkrd is '2', which should avoid regressions.

src/lib/libast/sfio/sfpkrd.c: sfpkrd():
- Always use select if the last argument is 2. This allows
  sfpkrd() to intercept SIGWINCH when necessary.

Fixes: https://github.com/ksh93/ksh/issues/202
This commit is contained in:
Johnothan King 2021-03-05 22:43:38 -08:00 committed by GitHub
parent 9f2389ed93
commit c1986c4e1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 8 deletions

3
NEWS
View file

@ -9,6 +9,9 @@ Any uppercase BUG_* names are modernish shell bug IDs.
did not perform an assignment and yielded the value 0 if 'var' was typeset as
numeric (integer or float) but had not yet been assigned a value.
- Fixed a bug introduced on 2020-08-19: Ctrl+D would break after an
interactive shell received SIGWINCH.
2021-03-05:
- Unbalanced quotes and backticks now correctly produce a syntax error