diff --git a/lib/base/application.cpp b/lib/base/application.cpp index 9de7f7d4d..09f544622 100644 --- a/lib/base/application.cpp +++ b/lib/base/application.cpp @@ -314,8 +314,8 @@ pid_t Application::StartReloadProcess(void) Process::Ptr process = make_shared(Process::PrepareCommand(args)); process->SetTimeout(300); process->Run(&ReloadProcessCallback); - - return process->GetHandle(); + + return process->GetPID(); } /** diff --git a/lib/base/process.cpp b/lib/base/process.cpp index 548d3ad69..d6366324d 100644 --- a/lib/base/process.cpp +++ b/lib/base/process.cpp @@ -410,9 +410,10 @@ void Process::Run(const boost::function& callback) m_Process = pi.hProcess; m_FD = outReadPipe; + m_PID = pi.dwProcessId; Log(LogInformation, "base", "Running command '" + m_Arguments + - "': PID " + Convert::ToString(pi.dwProcessId)); + "': PID " + Convert::ToString(m_PID)); #else /* _WIN32 */ int fds[2]; @@ -514,8 +515,10 @@ void Process::Run(const boost::function& callback) // parent process + m_PID = m_Process; + Log(LogInformation, "base", "Running command '" + boost::algorithm::join(m_Arguments, " ") + - "': PID " + Convert::ToString(m_Process)); + "': PID " + Convert::ToString(m_PID)); m_Arguments.clear(); @@ -636,9 +639,9 @@ bool Process::DoEvents(void) return false; } -Process::ProcessHandle Process::GetHandle(void) const +pid_t Process::GetPID(void) const { - return m_Process; + return m_PID; } diff --git a/lib/base/process.h b/lib/base/process.h index eb73e6c5c..bd3e5ad80 100644 --- a/lib/base/process.h +++ b/lib/base/process.h @@ -73,7 +73,7 @@ public: void Run(const boost::function& callback = boost::function()); - ProcessHandle GetHandle(void) const; + pid_t GetPID(void) const; static Arguments PrepareCommand(const Value& command); @@ -87,6 +87,7 @@ private: double m_Timeout; ProcessHandle m_Process; + pid_t m_PID; ConsoleHandle m_FD; std::ostringstream m_OutputStream;