aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorSebastian Falbesoner <sebastian.falbesoner@gmail.com>2024-04-16 12:55:55 +0200
committerSebastian Falbesoner <sebastian.falbesoner@gmail.com>2024-04-16 14:25:00 +0200
commit79c30363733503a1fb7d4c98aa0d56ced0be6e32 (patch)
treef06adddce6d85a4c7d1242bcf0dcc037fef84654 /src/util
parent62db8f8e5a6cfe19d905afc91731d6bc8a665f61 (diff)
downloadbitcoin-79c30363733503a1fb7d4c98aa0d56ced0be6e32.tar.xz
remove unneeded close_fds option from cpp-subprocess
Diffstat (limited to 'src/util')
-rw-r--r--src/util/subprocess.hpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/util/subprocess.hpp b/src/util/subprocess.hpp
index 56f17c771f..ea555c58a4 100644
--- a/src/util/subprocess.hpp
+++ b/src/util/subprocess.hpp
@@ -642,20 +642,6 @@ struct bufsize {
};
/*!
- * Option to close all file descriptors
- * when the child process is spawned.
- * The close fd list does not include
- * input/output/error if they are explicitly
- * set as part of the Popen arguments.
- *
- * Default value is false.
- */
-struct close_fds {
- explicit close_fds(bool c): close_all(c) {}
- bool close_all = false;
-};
-
-/*!
* Base class for all arguments involving string value.
*/
struct string_arg
@@ -929,7 +915,6 @@ struct ArgumentDeducer
void set_option(input&& inp);
void set_option(output&& out);
void set_option(error&& err);
- void set_option(close_fds&& cfds);
private:
Popen* popen_ = nullptr;
@@ -1255,8 +1240,6 @@ private:
std::future<void> cleanup_future_;
#endif
- bool close_fds_ = false;
-
std::string exe_name_;
std::string cwd_;
env_map_t env_;
@@ -1572,10 +1555,6 @@ namespace detail {
if (err.rd_ch_ != -1) popen_->stream_.err_read_ = err.rd_ch_;
}
- inline void ArgumentDeducer::set_option(close_fds&& cfds) {
- popen_->close_fds_ = cfds.close_all;
- }
-
inline void Child::execute_child() {
#ifndef __USING_WINDOWS__
@@ -1622,17 +1601,6 @@ namespace detail {
if (stream.err_write_ != -1 && stream.err_write_ > 2)
close(stream.err_write_);
- // Close all the inherited fd's except the error write pipe
- if (parent_->close_fds_) {
- int max_fd = sysconf(_SC_OPEN_MAX);
- if (max_fd == -1) throw OSError("sysconf failed", errno);
-
- for (int i = 3; i < max_fd; i++) {
- if (i == err_wr_pipe_) continue;
- close(i);
- }
- }
-
// Change the working directory if provided
if (parent_->cwd_.length()) {
sys_ret = chdir(parent_->cwd_.c_str());