Isolated the 'error' case which I ignore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -298,19 +298,30 @@ void wxHandleProcessTermination(wxEndProcessData *proc_data)
|
|||||||
}
|
}
|
||||||
while ( rc == -1 && errno == EINTR );
|
while ( rc == -1 && errno == EINTR );
|
||||||
|
|
||||||
|
if (rc == -1)
|
||||||
if( rc == -1 || ! (WIFEXITED(status) || WIFSIGNALED(status)) )
|
|
||||||
{
|
{
|
||||||
// wxLogSysError(_("Waiting for subprocess termination failed"));
|
// JACS: this could happen if the process was terminated and waitpid called,
|
||||||
|
// so commenting out for now.
|
||||||
|
//wxLogSysError(_("Waiting for subprocess termination failed (return code = -1)"));
|
||||||
|
}
|
||||||
|
else if (! (WIFEXITED(status)))
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Waiting for subprocess termination failed (WIFEXITED returned zero)"));
|
||||||
|
|
||||||
/* AFAIK, this can only happen if something went wrong within
|
/* AFAIK, this can only happen if something went wrong within
|
||||||
wxGTK, i.e. due to a race condition or some serious bug.
|
wxGTK, i.e. due to a race condition or some serious bug.
|
||||||
After having fixed the order of statements in
|
After having fixed the order of statements in
|
||||||
GTK_EndProcessDetector(). (KB)
|
GTK_EndProcessDetector(). (KB)
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
else if (WIFSIGNALED(status))
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Waiting for subprocess termination failed (signal not caught)"));
|
||||||
|
|
||||||
JACS adds -- I have other code that kills a process recursively
|
/* AFAIK, this can only happen if something went wrong within
|
||||||
and calls waitpid; so this function then generates an error.
|
wxGTK, i.e. due to a race condition or some serious bug.
|
||||||
I've commented out the wxLogSysError and the 'else' so that
|
After having fixed the order of statements in
|
||||||
termination is always done properly.
|
GTK_EndProcessDetector(). (KB)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
// else
|
// else
|
||||||
|
Reference in New Issue
Block a user