diff options
Diffstat (limited to 'qarsh/qarshd.c')
-rw-r--r-- | qarsh/qarshd.c | 3 |
1 files changed, 2 insertions, 1 deletions
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: |