mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-03 06:41:14 -03:00
Reintroduce IO transmorgrification (yuck) to fix problems with fish_config and complicated IO redirections
This commit is contained in:
@@ -169,10 +169,6 @@ static int handle_child_io( io_chain_t &io_chain )
|
||||
io_data_t *io = io_chain.at(idx);
|
||||
int tmp;
|
||||
|
||||
/* If this is not the last IO redirection for this fd, then skip it. This comes about because of the funky way in which we list IO redirections: every process in a job gets the input and output redirections, even internal ones. For example, in 'cat < foo | cat | cat > bar', the middle cat sees both < foo and > bar. It also gets pipes for its fd 0 and 1, which appear after in the list. */
|
||||
if (io != io_chain.get_io_for_fd(io->fd))
|
||||
continue;
|
||||
|
||||
if( io->io_mode == IO_FD && io->fd == io->param1.old_fd )
|
||||
{
|
||||
continue;
|
||||
@@ -444,10 +440,6 @@ bool fork_actions_make_spawn_properties(posix_spawnattr_t *attr, posix_spawn_fil
|
||||
{
|
||||
const io_data_t *io = j->io.at(idx);
|
||||
|
||||
/* If this is not the last IO redirection for this fd, then skip it. This comes about because of the funky way in which we list IO redirections: every process in a job gets the input and output redirections, even internal ones. For example, in 'cat < foo | cat | cat > bar', the middle cat sees both < foo and > bar. It also gets pipes for its fd 0 and 1, which appear after in the list. */
|
||||
if (io != j->io.get_io_for_fd(io->fd))
|
||||
continue;
|
||||
|
||||
if( io->io_mode == IO_FD && io->fd == io->param1.old_fd )
|
||||
{
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user