summaryrefslogtreecommitdiff
path: root/internal/server/handlers/runcommand.go
diff options
context:
space:
mode:
authorPaul Bütow <pbuetow@mimecast.com>2020-02-16 18:07:36 +0000
committerPaul Bütow <pbuetow@mimecast.com>2020-02-16 18:07:36 +0000
commite0f4ccc46c8601f322640b72e100f973a837ef02 (patch)
tree61a1fcf66daea222da19500b0b6ae60d1e89a5d9 /internal/server/handlers/runcommand.go
parent6bca637513e065a33cadaccad97ada25eb7a6b00 (diff)
server kills subprocesses correctly on cancel
Diffstat (limited to 'internal/server/handlers/runcommand.go')
-rw-r--r--internal/server/handlers/runcommand.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/server/handlers/runcommand.go b/internal/server/handlers/runcommand.go
index 120c402..95db52f 100644
--- a/internal/server/handlers/runcommand.go
+++ b/internal/server/handlers/runcommand.go
@@ -92,4 +92,8 @@ func (r runCommand) start(ctx context.Context, command string) {
r.server.sendServerMessage(fmt.Sprintf(".run exitstatus %d", ec))
r.server.sendServerMessage(logger.Info(fmt.Sprintf("Process %d exited with status %d", pid, ec)))
+
+ logger.Debug(r.server.user, "Waiting for Pgroup to be killed")
+ <-r.run.PgroupKilled()
+ logger.Debug(r.server.user, "Pgroup killed")
}