Package: elinks
Version: 0.13~20190125-3
Severity: normal
Tags: patch

elinks(1) has a wried hehavior that blocks the controlling terminal from
being written by other background processes, while this may be intended to
maintain the readability the ELinks TUI, it usually causing problems due to
processes that trying to write to the terminal will be suspended by SIGTTOU;
to make the problem worse, user can't notice this immediately until exiting
elinks(1); after that the shell would indicates one or more background
processes being suspend, like '[1]+  Stopped    ...' reported by bash(1).

It is very annoying for me because sometimes I would need to start a program
like ssh(1), to setup some port forwardings for use within elinks(1), in the
background, for example 'ssh ... -L 8000:... -N &'; it works on beginning,
but sometimes the background process may want to report a networking issue,
by printing an error message to stderr, then it being suspended, and the web
server forwarded by the background process becomes unresponsive, ELinks
stucks on 'Making connection' status until finally timed out... This
situation can only be recovered by exiting elinks(1), 'bg' that suspended
process and start elinks(1) again.

The following patch removes this problematic behavior:

--- src/terminal/kbd.c.orig     2019-01-26 09:48:21.000000000 +0800
+++ src/terminal/kbd.c  2020-04-22 16:29:45.009109375 +0800
@@ -260,9 +260,6 @@
 
        elinks_cfmakeraw(&t);
        t.c_lflag |= ISIG;
-#ifdef TOSTOP
-       t.c_lflag |= TOSTOP;
-#endif
        t.c_oflag |= OPOST;
        if (tcsetattr(itrm->in.ctl, TCSANOW, &t)) return -1;
 


-- System Information:
Debian Release: 10.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-6-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages elinks depends on:
ii  elinks-data       0.13~20190125-3
ii  libbz2-1.0        1.0.6-9.2~deb10u1
ii  libc6             2.28-10
ii  libcom-err2       1.44.5-1+deb10u2
ii  libev4            1:4.25-1
ii  libexpat1         2.2.6-2+deb10u1
ii  libfsplib0        0.11-2
ii  libgcrypt20       1.8.4-5
ii  libgnutls30       3.6.7-4
ii  libgpm2           1.20.7-5
ii  libgssapi-krb5-2  1.17-3
ii  libidn11          1.33-2.2
ii  libk5crypto3      1.17-3
ii  libkrb5-3         1.17-3
ii  liblua5.1-0       5.1.5-8.1+b2
ii  liblzma5          5.2.4-1
ii  libperl5.28       5.28.1-6
ii  libtinfo6         6.1+20181013-2+deb10u1
ii  libtre5           0.8.0-6

elinks recommends no packages.

Versions of packages elinks suggests:
pn  elinks-doc  <none>

-- no debconf information

Reply via email to