aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/repro/repro.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/repro/repro.go')
-rw-r--r--pkg/repro/repro.go18
1 files changed, 5 insertions, 13 deletions
diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go
index 9f0faf29c..5cfa7acda 100644
--- a/pkg/repro/repro.go
+++ b/pkg/repro/repro.go
@@ -612,8 +612,8 @@ func (ctx *context) testCProg(p *prog.Prog, duration time.Duration, opts csource
}
func (ctx *context) returnInstance(inst *reproInstance) {
- ctx.bootRequests <- inst.index
inst.execProg.Close()
+ ctx.bootRequests <- inst.index
}
func (ctx *context) reproLogf(level int, format string, args ...interface{}) {
@@ -660,27 +660,19 @@ func (ctx *context) createInstances(cfg *mgrconfig.Config, vmPool *vm.Pool) {
go func() {
defer wg.Done()
- var inst *instance.ExecProgInstance
- maxTry := 3
- for try := 0; try < maxTry; try++ {
+ for try := 0; ; try++ {
select {
case <-vm.Shutdown:
- try = maxTry
- continue
+ return
default:
}
- var err error
- inst, err = instance.CreateExecProgInstance(vmPool, vmIndex, cfg,
+ inst, err := instance.CreateExecProgInstance(vmPool, vmIndex, cfg,
ctx.reporter, &instance.OptionalConfig{Logf: ctx.reproLogf})
if err != nil {
- ctx.reproLogf(0, "failed to init instance: %v, attempt %d/%d",
- err, try+1, maxTry)
+ ctx.reproLogf(0, "failed to boot instance (try %v): %v", try+1, err)
time.Sleep(10 * time.Second)
continue
}
- break
- }
- if inst != nil {
ctx.instances <- &reproInstance{execProg: inst, index: vmIndex}
}
}()