aboutsummaryrefslogtreecommitdiffstats
path: root/vm/proxyapp/proxyappclient.go
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-05-15 15:01:02 +0200
committerTaras Madan <tarasmadan@google.com>2025-05-19 09:39:47 +0000
commit27f689959decd391b047c8034d481267d500549e (patch)
tree79ce6364d592fd6841e25ec64ca645fc3c65cdcf /vm/proxyapp/proxyappclient.go
parent8f9cf946b3733d0b4ad3124bce155a4fc3849c3a (diff)
vm: func Run accepts context
It allows to use context as a single termination signal source.
Diffstat (limited to 'vm/proxyapp/proxyappclient.go')
-rw-r--r--vm/proxyapp/proxyappclient.go12
1 files changed, 2 insertions, 10 deletions
diff --git a/vm/proxyapp/proxyappclient.go b/vm/proxyapp/proxyappclient.go
index 72faf5655..32a0b0b96 100644
--- a/vm/proxyapp/proxyappclient.go
+++ b/vm/proxyapp/proxyappclient.go
@@ -477,11 +477,7 @@ func buildMerger(names ...string) (*vmimpl.OutputMerger, []io.Writer) {
return merger, wPipes
}
-func (inst *instance) Run(
- timeout time.Duration,
- stop <-chan bool,
- command string,
-) (<-chan []byte, <-chan error, error) {
+func (inst *instance) Run(ctx context.Context, command string) (<-chan []byte, <-chan error, error) {
merger, wPipes := buildMerger("stdout", "stderr", "console")
receivedStdoutChunks := wPipes[0]
receivedStderrChunks := wPipes[1]
@@ -502,7 +498,6 @@ func (inst *instance) Run(
runID := reply.RunID
terminationError := make(chan error, 1)
- timeoutSignal := time.After(timeout)
signalClientErrorf := clientErrorf(receivedStderrChunks)
go func() {
@@ -531,13 +526,10 @@ func (inst *instance) Run(
} else {
continue
}
- case <-timeoutSignal:
+ case <-ctx.Done():
// It is the happy path.
inst.runStop(runID)
terminationError <- vmimpl.ErrTimeout
- case <-stop:
- inst.runStop(runID)
- terminationError <- vmimpl.ErrTimeout
}
break
}