From 73a1801311d4a7ae542aa4d0a2b3fe09704cb849 Mon Sep 17 00:00:00 2001 From: Nate Straz Date: Thu, 25 Aug 2005 16:35:32 +0000 Subject: Put child process in its own process group and send signals to the whole process group. --- qarsh/qarshd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qarsh/qarshd.c b/qarsh/qarshd.c index bf8353b..55de12e 100644 --- a/qarsh/qarshd.c +++ b/qarsh/qarshd.c @@ -71,6 +71,7 @@ run_cmd(const char *cmd, int p_in, int p_out, int p_err) } if (pid == 0) { /* child */ + setpgrp(); /* Connect stdin, stdout, and stderr to qarsh */ new_in = connect_to_peer(&peername, p_in); @@ -167,7 +168,7 @@ handle_packets(int infd) syslog(LOG_INFO, "Sending child %d signal %d", child_pid, qp->qp_kill.qp_sig); - kill(child_pid, qp->qp_kill.qp_sig); + kill(child_pid * -1, qp->qp_kill.qp_sig); } break; case QP_SETUSER: -- cgit