summaryrefslogtreecommitdiffstats
path: root/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch56
1 files changed, 0 insertions, 56 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch b/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch
deleted file mode 100644
index e8ed571..0000000
--- a/sys-apps/util-linux/files/util-linux-2.13-script-SIGWINCH.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 2b8bbb5fb0f024ea3917fedbbbaf0fab1c1f6555
-Author: Karel Zak <kzak@redhat.com>
-Date: Fri Oct 5 12:22:13 2007 +0200
-
- script: dies on SIGWINCH
-
- The "doinput" process doesn't make a difference between SIGWINCH and
- SIGCHILD. This process also sends unnecessary SIGWINCH to child (the
- signal is ignored by child). Fixed.
-
- Signed-off-by: Karel Zak <kzak@redhat.com>
-
-diff --git a/misc-utils/script.c b/misc-utils/script.c
-index d3272df..3b957d8 100644
---- a/misc-utils/script.c
-+++ b/misc-utils/script.c
-@@ -99,6 +99,7 @@ int tflg = 0;
- static char *progname;
-
- int die;
-+int resized;
-
- static void
- die_if_link(char *fn) {
-@@ -235,8 +236,14 @@ doinput() {
- if (die == 0 && child && kill(child, 0) == -1 && errno == ESRCH)
- die = 1;
-
-- while (die == 0 && (cc = read(0, ibuf, BUFSIZ)) > 0)
-- (void) write(master, ibuf, cc);
-+ while (die == 0) {
-+ if ((cc = read(0, ibuf, BUFSIZ)) > 0)
-+ (void) write(master, ibuf, cc);
-+ else if (cc == -1 && errno == EINTR && resized)
-+ resized = 0;
-+ else
-+ break;
-+ }
-
- done();
- }
-@@ -255,11 +262,10 @@ finish(int dummy) {
-
- void
- resize(int dummy) {
-+ resized = 1;
- /* transmit window change information to the child */
- (void) ioctl(0, TIOCGWINSZ, (char *)&win);
- (void) ioctl(slave, TIOCSWINSZ, (char *)&win);
--
-- kill(child, SIGWINCH);
- }
-
- /*
-
-