1. improved wxKill() implementation for Win32
2. added wxKillError output parameter to wxKill 3. added wxProcess::Kill() and Exists() 4. documented all the new stuff 5. updated the sample to show it git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -135,9 +135,39 @@ void wxUsleep(unsigned long milliseconds)
|
||||
// process management
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
int wxKill(long pid, wxSignal sig)
|
||||
int wxKill(long pid, wxSignal sig, wxKillError *rc)
|
||||
{
|
||||
return kill((pid_t)pid, (int)sig);
|
||||
int err = kill((pid_t)pid, (int)sig);
|
||||
if ( rc )
|
||||
{
|
||||
switch ( err )
|
||||
{
|
||||
case 0:
|
||||
*rc = wxKILL_OK;
|
||||
break;
|
||||
|
||||
case EINVAL:
|
||||
*rc = wxKILL_BAD_SIGNAL;
|
||||
break;
|
||||
|
||||
case EPERM:
|
||||
*rc = wxKILL_ACCESS_DENIED;
|
||||
break;
|
||||
|
||||
case ESRCH:
|
||||
*rc = wxKILL_NO_PROCESS;
|
||||
break;
|
||||
|
||||
default:
|
||||
// this goes against Unix98 docs so log it
|
||||
wxLogDebug(_T("unexpected kill(2) return value %d"), err);
|
||||
|
||||
// something else...
|
||||
*rc = wxKILL_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
#define WXEXECUTE_NARGS 127
|
||||
|
Reference in New Issue
Block a user