tty: disassociate_ctty() sends the extra SIGCONT
authorOleg Nesterov <oleg@redhat.com>
Sun, 15 Sep 2013 15:50:26 +0000 (17:50 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 18 Sep 2013 01:53:32 +0000 (21:53 -0400)
commit03e1261778cca782d41a3d8e3945ca88cf93e01e
treef8f1f2f4d587f71e356b58e5cf648789698c6ca0
parentde0bc3dfc318fae30f09ee63b315c7cbfe528d8b
tty: disassociate_ctty() sends the extra SIGCONT

Starting from v3.10 (probably commit f91e2590410b: "tty: Signal
foreground group processes in hangup") disassociate_ctty() sends SIGCONT
if tty && on_exit.  This breaks LSB test-suite, in particular test8 in
_exit.c and test40 in sigcon5.c.

Put the "!on_exit" check back to restore the old behaviour.

Review by Peter Hurley:
 "Yes, this regression was introduced by me in that commit.  The effect
  of the regression is that ptys will receive a SIGCONT when, in similar
  circumstances, ttys would not.

  The fact that two test vectors accidentally tripped over this
  regression suggests that some other apps may as well.

  Thanks for catching this"

Cc: stable@vger.kernel.org # v3.10+
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reported-by: Karel Srot <ksrot@redhat.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/tty/tty_io.c