cleaned up the waitpid() result processing mess

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-10-01 12:39:42 +00:00
parent dbd25330c5
commit 018e2f1300

View File

@@ -298,39 +298,16 @@ void wxHandleProcessTermination(wxEndProcessData *proc_data)
}
while ( rc == -1 && errno == EINTR );
if (rc == -1)
{
// 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
wxGTK, i.e. due to a race condition or some serious bug.
After having fixed the order of statements in
GTK_EndProcessDetector(). (KB)
*/
}
else if (WIFSIGNALED(status))
{
wxLogSysError(_("Waiting for subprocess termination failed (signal not caught)"));
/* AFAIK, this can only happen if something went wrong within
wxGTK, i.e. due to a race condition or some serious bug.
After having fixed the order of statements in
GTK_EndProcessDetector(). (KB)
*/
}
// else
{
// notify user about termination if required
if ( proc_data->process )
{
proc_data->process->OnTerminate(proc_data->pid,
WEXITSTATUS(status));
proc_data->process->OnTerminate
(
proc_data->pid,
(rc == 0) && WIFEXITED(status)
? WEXITSTATUS(status)
: -1
);
}
// clean up
if ( proc_data->pid > 0 )
@@ -345,7 +322,6 @@ void wxHandleProcessTermination(wxEndProcessData *proc_data)
proc_data->pid = 0;
}
}
}
#endif // wxUSE_GUI