summaryrefslogtreecommitdiff
path: root/internal/clients/connectors/serverconnection.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/clients/connectors/serverconnection.go')
-rw-r--r--internal/clients/connectors/serverconnection.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/internal/clients/connectors/serverconnection.go b/internal/clients/connectors/serverconnection.go
index aeb2a41..5c3d455 100644
--- a/internal/clients/connectors/serverconnection.go
+++ b/internal/clients/connectors/serverconnection.go
@@ -172,25 +172,31 @@ func (c *ServerConnection) handle(ctx context.Context, cancel context.CancelFunc
}
go func() {
- io.Copy(stdinPipe, c.handler)
- cancel()
+ defer cancel()
+ if _, err := io.Copy(stdinPipe, c.handler); err != nil {
+ dlog.Client.Trace(err)
+ }
}()
go func() {
- io.Copy(c.handler, stdoutPipe)
- cancel()
+ defer cancel()
+ if _, err := io.Copy(c.handler, stdoutPipe); err != nil {
+ dlog.Client.Trace(err)
+ }
}()
go func() {
+ defer cancel()
select {
case <-c.handler.Done():
case <-ctx.Done():
}
- cancel()
}()
// Send all commands to client.
for _, command := range c.commands {
dlog.Client.Debug(command)
- c.handler.SendMessage(command)
+ if err := c.handler.SendMessage(command); err != nil {
+ dlog.Client.Debug(err)
+ }
}
if !c.throttlingDone {