diff --git a/include/libcamera/internal/process.h b/include/libcamera/internal/process.h index 307c809f..4ab846b2 100644 --- a/include/libcamera/internal/process.h +++ b/include/libcamera/internal/process.h @@ -45,7 +45,7 @@ public: private: LIBCAMERA_DISABLE_COPY_AND_MOVE(Process) - void closeAllFdsExcept(const std::vector &fds); + void closeAllFdsExcept(std::vector v); int isolate(); void died(int wstatus); diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp index 479163e8..5193386c 100644 --- a/src/libcamera/process.cpp +++ b/src/libcamera/process.cpp @@ -264,7 +264,7 @@ int Process::start(const std::string &path, std::vector v(fds.begin(), fds.end()); v.push_back(STDERR_FILENO); - closeAllFdsExcept(v); + closeAllFdsExcept(std::move(v)); const auto tryDevNullLowestFd = [](int expected, int oflag) { int fd = open("/dev/null", oflag); @@ -296,9 +296,8 @@ int Process::start(const std::string &path, } } -void Process::closeAllFdsExcept(const std::vector &fds) +void Process::closeAllFdsExcept(std::vector v) { - std::vector v(fds); sort(v.begin(), v.end()); ASSERT(v.empty() || v.front() >= 0);