diff options
Diffstat (limited to 'syz-verifier')
| -rw-r--r-- | syz-verifier/verifier.go | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/syz-verifier/verifier.go b/syz-verifier/verifier.go index 4bcb0fa8a..33dabebe0 100644 --- a/syz-verifier/verifier.go +++ b/syz-verifier/verifier.go @@ -230,23 +230,24 @@ func (vrf *Verifier) SetPrintStatAtSIGINT() error { func (vrf *Verifier) startInstances() { for poolID, pi := range vrf.pools { - go func(pi *poolInfo, poolID int) { - for { - // TODO: implement support for multiple VMs per Pool. - - vrf.createAndManageInstance(pi, poolID) - } - }(pi, poolID) + totalInstances := pi.pool.Count() + for vmID := 0; vmID < totalInstances; vmID++ { + go func(pi *poolInfo, poolID, vmID int) { + for { + vrf.createAndManageInstance(pi, poolID, vmID) + } + }(pi, poolID, vmID) + } } } -func (vrf *Verifier) createAndManageInstance(pi *poolInfo, poolID int) { - inst, err := pi.pool.Create(0) +func (vrf *Verifier) createAndManageInstance(pi *poolInfo, poolID, vmID int) { + inst, err := pi.pool.Create(vmID) if err != nil { log.Fatalf("failed to create instance: %v", err) } defer inst.Close() - defer vrf.srv.cleanup(poolID, 0) + defer vrf.srv.cleanup(poolID, vmID) fwdAddr, err := inst.Forward(vrf.srv.port) if err != nil { |
