updated for version 7.3.337
Problem: Screen doesn't update after resizing the xterm until a character
is typed.
Solution: When the select call is interrupted check do_resize. (Taylor
Hedberg)
diff --git a/src/os_unix.c b/src/os_unix.c
index 018c49f..48176e1 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5146,11 +5146,18 @@
# endif
# ifdef EINTR
if (ret == -1 && errno == EINTR)
+ {
+ /* Check whether window has been resized, EINTR may be caused by
+ * SIGWINCH. */
+ if (do_resize)
+ handle_resize();
+
/* Interrupted by a signal, need to try again. We ignore msec
* here, because we do want to check even after a timeout if
* characters are available. Needed for reading output of an
* external command after the process has finished. */
goto select_eintr;
+ }
# endif
# ifdef __TANDEM
if (ret == -1 && errno == ENOTSUP)