diff --git a/src/MeoAssistant/AsstUtils.hpp b/src/MeoAssistant/AsstUtils.hpp index 671dae118a..458705d081 100644 --- a/src/MeoAssistant/AsstUtils.hpp +++ b/src/MeoAssistant/AsstUtils.hpp @@ -251,7 +251,7 @@ namespace asst pipe_str.append(pipe_buffer.get(), pipe_buffer.get() + read_num); read_num = read(pipe_out[PIPE_READ], pipe_buffer.get(), PipeBuffSize); }; - } while (::waitpid(child, nullptr, WNOHANG) == 0); + } while (::waitpid(child, &exit_ret, WNOHANG) == 0); close(pipe_in[PIPE_WRITE]); close(pipe_out[PIPE_READ]); diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index ee92cc97e2..6ee6447b9f 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -459,7 +459,7 @@ std::optional> asst::Controller::call_command(const s pipe_data.insert(pipe_data.end(), m_pipe_buffer.get(), m_pipe_buffer.get() + read_num); read_num = read(m_pipe_out[PIPE_READ], m_pipe_buffer.get(), PipeBuffSize); }; - } while (::waitpid(m_child, nullptr, WNOHANG) == 0); + } while (::waitpid(m_child, &exit_ret, WNOHANG) == 0); } else { // failed to create child process