diff options
-rw-r--r-- | trans/crash.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/trans/crash.c b/trans/crash.c index 863499e5..5947cb26 100644 --- a/trans/crash.c +++ b/trans/crash.c @@ -81,16 +81,19 @@ struct port_class *crasher_portclass; void stop_pgrp (process_t userproc, mach_port_t cttyid) { - pid_t pid, pgrp; + pid_t pid, ppid, pgrp; int orphaned; error_t err; size_t numpids = 20; pid_t pids_[numpids], *pids = pids_; int i; - err = proc_getpids (userproc, &pid, &pgrp, &orphaned); + err = proc_getpids (userproc, &pid, &ppid, &orphaned); if (err || orphaned) return; + err = proc_getpgrp (userproc, pid, &pgrp); + if (err) + return; /* Use USERPROC so that if it's just died we get an error and don't do anything. */ |