gvisor/pkg/sentry/fs/tty
Kevin Krakauer 0a8a75f3da Job control: controlling TTYs and foreground process groups.
Adresses a deadlock with the rolled back change:
b6a5b950d2
Creating a session from an orphaned process group was causing a lock to be
acquired twice by a single goroutine. This behavior is addressed, and a test
(OrphanRegression) has been added to pty.cc.

Implemented the following ioctls:
- TIOCSCTTY - set controlling TTY
- TIOCNOTTY - remove controlling tty, maybe signal some other processes
- TIOCGPGRP - get foreground process group. Also enables tcgetpgrp().
- TIOCSPGRP - set foreground process group. Also enabled tcsetpgrp().

Next steps are to actually turn terminal-generated control characters (e.g. C^c)
into signals to the proper process groups, and to send SIGTTOU and SIGTTIN when
appropriate.

PiperOrigin-RevId: 270088599
2019-09-19 11:36:47 -07:00
..
BUILD Job control: controlling TTYs and foreground process groups. 2019-09-19 11:36:47 -07:00
dir.go Job control: controlling TTYs and foreground process groups. 2019-09-19 11:36:47 -07:00
fs.go
line_discipline.go
master.go Job control: controlling TTYs and foreground process groups. 2019-09-19 11:36:47 -07:00
queue.go
slave.go Job control: controlling TTYs and foreground process groups. 2019-09-19 11:36:47 -07:00
terminal.go Job control: controlling TTYs and foreground process groups. 2019-09-19 11:36:47 -07:00
tty_test.go