int err = kill((pid_t)pid, (int)sig);
if ( rc )
{
- switch ( err )
+ switch ( errno )
{
case 0:
*rc = wxKILL_OK;
if ( fd != STDERR_FILENO )
close(fd);
}
+
+#ifndef __VMS
+ if ( flags & wxEXEC_MAKE_GROUP_LEADER )
+ {
+ // Set process group to child process' pid. Then killing -pid
+ // of the parent will kill the process and all of its children.
+ setsid();
+ }
+#endif
}
// redirect stdio, stdout and stderr