diff --git a/lib/pal/posix/sysinfo_sources.cpp b/lib/pal/posix/sysinfo_sources.cpp index 32a69caaa..28f1e3552 100644 --- a/lib/pal/posix/sysinfo_sources.cpp +++ b/lib/pal/posix/sysinfo_sources.cpp @@ -114,7 +114,8 @@ static std::string Exec(const char* cmd) { std::array buffer; std::string result; - std::shared_ptr pipe(popen(cmd, "r"), pclose); + auto close_pipe = [](FILE* file) { pclose(file); }; + std::unique_ptr pipe(popen(cmd, "r"), close_pipe); if (!pipe) { // throw std::runtime_error("popen() failed!"); @@ -349,4 +350,3 @@ sysinfo_sources_impl::sysinfo_sources_impl() : sysinfo_sources() } } -