From 1ce30deec3ede38fba7fef2c35eafa4de700f333 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Fri, 11 Apr 2014 10:51:15 -0700 Subject: [PATCH] Remove the close_old field from io_fd_t, which is never actually respected - a bug dating back to fish 1.x! The fd that would be closed is actually closed in io_cleanup_fds(). --- exec.cpp | 2 +- io.h | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/exec.cpp b/exec.cpp index ca2c05d79..ae4c496db 100644 --- a/exec.cpp +++ b/exec.cpp @@ -460,7 +460,7 @@ static bool io_transmogrify(const io_chain_t &in_chain, io_chain_t *out_chain, s } opened_fds.push_back(fd); - out.reset(new io_fd_t(in->fd, fd, true)); + out.reset(new io_fd_t(in->fd, fd)); break; } diff --git a/io.h b/io.h index 112d7611c..38c1c7baa 100644 --- a/io.h +++ b/io.h @@ -66,15 +66,11 @@ public: /** fd to redirect specified fd to. For example, in 2>&1, old_fd is 1, and io_data_t::fd is 2 */ const int old_fd; - /** Whether to close old_fd */ - const bool close_old; - virtual void print() const; - io_fd_t(int f, int old, bool close = false) : + io_fd_t(int f, int old) : io_data_t(IO_FD, f), - old_fd(old), - close_old(close) + old_fd(old) { } };