mh_execm: get rid of child process in case of error, for a clean start on next request (handle rclzip crash on encrypted files)

This commit is contained in:
Jean-Francois Dockes
2010-09-23 18:32:52 +02:00
parent 74fa554067
commit e8671c83be
3 changed files with 8 additions and 1 deletions
+1 -1
View File
@@ -462,9 +462,9 @@ int ExecCmd::wait(bool haderror)
if (!m_killRequest && m_pid > 0) {
if (waitpid(m_pid, &status, 0) < 0)
status = -1;
LOGDEB(("ExecCmd::wait: got status 0x%x\n", status));
m_pid = -1;
}
LOGDEB(("ExecCmd::wait: got status 0x%x\n", status));
return haderror ? -1 : status;
}
+5
View File
@@ -147,6 +147,11 @@ class ExecCmd {
*/
void setKill() {m_killRequest = true;}
/**
* Get rid of current process (become ready for start).
*/
void zapChild() {setKill(); (void)wait();}
ExecCmd()
: m_advise(0), m_provide(0), m_timeoutMs(1000)
{