fish-shell/src
ridiculousfish 5cf0778207 Claim the tty unconditionally in reader_data_t::readline
When fish runs with job control enabled, it transfers ownership of the
tty to a child process, and then reclaims the tty after the process
exits. If job control is disabled then fish does not transfer or reclaim
the tty.

It may happen that the child process creates a pgroup and then transfers
the tty to it. In that case fish will not attempt to reclaim the tty, as
fish did not transfer it. Then when fish reads from stdin it will
receive SIGTTIN instead of data.

Fix this by unconditionally claiming the tty in readline().

Fixes #9181
2022-09-09 13:43:29 -07:00
..
builtins math: Add error length 2022-09-09 18:52:45 +02:00
widecharwidth Update widecharwidth 2022-02-14 22:19:28 +01:00
ast.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
ast.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
autoload.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
autoload.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
builtin.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
builtin.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
color.cpp color: Use convert_digit 2022-08-27 11:41:29 +02:00
color.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
common.cpp Replace our use of strncpy 2022-08-27 17:47:18 +02:00
common.h Remove some dead code 2022-08-27 20:33:39 +02:00
complete.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
complete.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
enum_map.h enum_map stuff to enum_map.h 2021-10-01 03:39:43 -07:00
enum_set.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
env.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
env.h Revert "I need to take a break. Fixup." 2022-08-22 14:11:52 -07:00
env_dispatch.cpp Remove some dead code 2022-08-27 20:33:39 +02:00
env_dispatch.h Revert "I need to take a break. Fixup." 2022-08-22 14:11:52 -07:00
env_universal_common.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
env_universal_common.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
event.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
event.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
exec.cpp Revert "I need to take a break. Fixup." 2022-08-22 14:11:52 -07:00
exec.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
expand.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
expand.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fallback.cpp fallback.cpp: iwyu; update includes 2022-08-30 23:55:26 -07:00
fallback.h Remove wcsdup fallback 2022-08-27 11:36:15 +02:00
fd_monitor.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fd_monitor.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fds.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fds.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
fish.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fish_indent.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
fish_key_reader.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
fish_test_helper.cpp Claim the tty unconditionally in reader_data_t::readline 2022-09-09 13:43:29 -07:00
fish_tests.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
fish_version.cpp Fix build 2021-09-21 18:33:14 -07:00
fish_version.h Revert "Generate FISH_BUILD_VERSION info for cmake builds" 2018-01-08 22:28:10 -08:00
flog.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
flog.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
function.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
function.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
future_feature_flags.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
future_feature_flags.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
global_safety.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
highlight.cpp Use color for $fish_color_valid_path if it exists 2022-08-25 17:42:42 +02:00
highlight.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
history.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
history.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
history_file.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
history_file.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
input.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
input.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
input_common.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
input_common.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
io.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
io.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
iothread.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
iothread.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
job_group.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
job_group.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
kill.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
kill.h Implementation of variable with killring entries 2021-04-21 16:39:29 -07:00
lru.h Reimplement autosuggestion-triggered completion loading 2022-06-19 15:15:17 -07:00
maybe.h maybe.h: reference header new 2021-08-17 18:57:16 -05:00
null_terminated_array.cpp Rework null terminated arrays 2021-03-28 15:31:25 -07:00
null_terminated_array.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
operation_context.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
operation_context.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
output.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
output.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
pager.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
pager.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parse_constants.h Highlight history searches correctly (#9066) 2022-07-13 16:48:04 +02:00
parse_execution.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parse_execution.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
parse_tree.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
parse_tree.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parse_util.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
parse_util.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
parser.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
parser.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parser_keywords.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
parser_keywords.h Remove unused functions, members (and a variable) 2022-04-09 10:10:44 -07:00
path.cpp Stop exporting kDefaultPath 2022-08-21 14:43:28 -07:00
path.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
postfork.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
postfork.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
print_help.cpp Run clang-format on all files 2019-10-13 15:50:48 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
proc.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
re.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
re.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
reader.cpp Claim the tty unconditionally in reader_data_t::readline 2022-09-09 13:43:29 -07:00
reader.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
redirection.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
redirection.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
screen.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
screen.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
signal.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
signal.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
termsize.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
termsize.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
timer.cpp timer.cpp: iwyu; update includes 2022-08-30 23:56:33 -07:00
timer.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
tinyexpr.cpp Fix error for vararg functions with zero arguments 2022-09-09 18:52:45 +02:00
tinyexpr.h math: Add error length 2022-09-09 18:52:45 +02:00
tokenizer.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
tokenizer.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
topic_monitor.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
topic_monitor.h clang-format all C++ files 2022-08-21 15:02:19 -07:00
trace.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
trace.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
utf8.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
utf8.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
util.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wait_handle.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
wait_handle.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wcstringutil.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
wcstringutil.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wgetopt.cpp clang-format all C++ files 2022-08-21 15:02:19 -07:00
wgetopt.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wildcard.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wildcard.h IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wutil.cpp IWYU-guided #include rejiggering. 2022-08-20 23:55:18 -07:00
wutil.h clang-format all C++ files 2022-08-21 15:02:19 -07:00