mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-22 22:22:11 +02:00
Bug 330282 - AIX spawner should kill all child processes
This commit is contained in:
parent
d63d948594
commit
1ca8db05d7
3 changed files with 20 additions and 5 deletions
|
@ -249,23 +249,38 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_raise(JNIEnv * env, jobject jobj,
|
|||
|
||||
switch (sig) {
|
||||
case 0: /* NOOP */
|
||||
status = kill(pid, 0);
|
||||
status = killpg(pid, 0);
|
||||
if(status == -1) {
|
||||
status = kill(pid, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2: /* INTERRUPT */
|
||||
status = kill(pid, SIGINT);
|
||||
status = killpg(pid, SIGINT);
|
||||
if(status == -1) {
|
||||
status = kill(pid, SIGINT);
|
||||
}
|
||||
break;
|
||||
|
||||
case 9: /* KILL */
|
||||
status = kill(pid, SIGKILL);
|
||||
status = killpg(pid, SIGKILL);
|
||||
if(status == -1) {
|
||||
status = kill(pid, SIGKILL);
|
||||
}
|
||||
break;
|
||||
|
||||
case 15: /* TERM */
|
||||
status = kill(pid, SIGTERM);
|
||||
status = killpg(pid, SIGTERM);
|
||||
if(status == -1) {
|
||||
status = kill(pid, SIGTERM);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
status = kill(pid, sig); /* WHAT ?? */
|
||||
status = killpg(pid, sig); /* WHAT ?? */
|
||||
if(status == -1) {
|
||||
status = kill(pid, sig); /* WHAT ?? */
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Add table
Reference in a new issue