summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-01-18 18:47:52 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-01-18 18:47:52 +0100
commit5453c9bbb276e835e7adf1640f33cad59eced38f (patch)
tree0be5951974563ec5e35774152e2ee8cf3a533062 /debian
parentc45e024465fea12777e36a8fd7dc5c592c3eee57 (diff)
Add Thomas terminal patch.
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/thomas_term.patch38
2 files changed, 39 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series
index 087e1c33..3e1f9d97 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -58,3 +58,4 @@ merge-me-0002-startup-faster-reboots.patch
0009-trans-add-startup-standalone-XXX.patch
0010-XXX-bootshell.patch
0011-bootshell-improve-error-message.patch
+thomas_term.patch
diff --git a/debian/patches/thomas_term.patch b/debian/patches/thomas_term.patch
new file mode 100644
index 00000000..f2725819
--- /dev/null
+++ b/debian/patches/thomas_term.patch
@@ -0,0 +1,38 @@
+Patch from Thomas. See id:87twzoxd3b.fsf@kepler.schwinge.homeip.net.
+
+This shows, for the expect script:
+
+ 2946: /dev/ptyp1: starting PTY
+ 2946: /dev/ptyp1: tf 2 qs(oq) 7461
+ 2946: /dev/ptyp1: pm 0 uim 0 cb 0
+ 2946: /dev/ptyp1: tf 2 qs(oq) 3365
+ 2946: /dev/ptyp1: pm 0 uim 0 cb 0
+ 2946: /dev/ptyp1: tf 0 qs(oq) 0
+ 2946: /dev/ptyp1: pm 0 uim 0 cb 0
+
+..., and for a screen window exit:
+
+ 2970: /dev/ptyp2: tf 2 qs(oq) 6
+ 2970: /dev/ptyp2: pm 1 uim 0 cb 0
+ 2970: /dev/ptyp2: tf 0 qs(oq) 0
+ 2970: /dev/ptyp2: pm 1 uim 0 cb 1
+
+In both cases, the last iteration (starting with "tf") is the problematic
+one. The size of the output queue is zero in both cases, which is why
+Samuel's patch doesn't make a difference. The expect script case is
+different from the screen window exit one in that the latter is running
+in packet mode. So here is my patch -- with no rationale by citing any
+standards, or similar. Any comments on that already? (I don't feel like
+committing such a change without understanding it.)
+
+--- a/term/ptyio.c
++++ b/term/ptyio.c
+@@ -331,7 +331,7 @@ pty_io_read (struct trivfs_protid *cred,
+ }
+ }
+
+- if (!(termflags & TTY_OPEN) && !qsize (outputq))
++ if (!(termflags & TTY_OPEN) && packet_mode)
+ {
+ pthread_mutex_unlock (&global_lock);
+ return EIO;