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
commit5ece9dc514b1fbba21e36a34f7fae42812e1d33a (patch)
tree61a1fcf66daea222da19500b0b6ae60d1e89a5d9 /internal/server/handlers/runcommand.go
parenta8806415b7ef62ad0aff6bbb5377c6490a9ffb3b (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")
}