summaryrefslogtreecommitdiffhomepage
path: root/test/util/BUILD
diff options
context:
space:
mode:
authorKevin Krakauer <krakauer@google.com>2019-09-19 11:35:27 -0700
committergVisor bot <gvisor-bot@google.com>2019-09-19 11:36:47 -0700
commit0a8a75f3dabaf5c097710c3bb961b67b8ed653b5 (patch)
tree4f28d2550c996b8c10d06ebc511ff0433f47b5f7 /test/util/BUILD
parent28f431335b182519f420e026edac8b7bcfd2a40a (diff)
Job control: controlling TTYs and foreground process groups.
Adresses a deadlock with the rolled back change: https://github.com/google/gvisor/commit/b6a5b950d28e0b474fdad160b88bc15314cf9259 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
Diffstat (limited to 'test/util/BUILD')
-rw-r--r--test/util/BUILD11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/util/BUILD b/test/util/BUILD
index 52f8b9e1f..25ed9c944 100644
--- a/test/util/BUILD
+++ b/test/util/BUILD
@@ -191,6 +191,17 @@ cc_test(
)
cc_library(
+ name = "pty_util",
+ testonly = 1,
+ srcs = ["pty_util.cc"],
+ hdrs = ["pty_util.h"],
+ deps = [
+ ":file_descriptor",
+ ":posix_error",
+ ],
+)
+
+cc_library(
name = "signal_util",
testonly = 1,
srcs = ["signal_util.cc"],