diff --git a/internal/decision/blockstoremanager.go b/internal/decision/blockstoremanager.go index 1cc09dffcf9d878979c02fd38acb59a2071e02e0..dc022caf085684076512f917bea46c600ffd10eb 100644 --- a/internal/decision/blockstoremanager.go +++ b/internal/decision/blockstoremanager.go @@ -26,24 +26,24 @@ func newBlockstoreManager(bs bstore.Blockstore, workerCount int) *blockstoreMana bs: bs, workerCount: workerCount, jobs: make(chan func()), + px: process.WithTeardown(func() error { return nil }), } } func (bsm *blockstoreManager) start(px process.Process) { - bsm.px = px - + px.AddChild(bsm.px) // Start up workers for i := 0; i < bsm.workerCount; i++ { - px.Go(func(px process.Process) { - bsm.worker() + bsm.px.Go(func(px process.Process) { + bsm.worker(px) }) } } -func (bsm *blockstoreManager) worker() { +func (bsm *blockstoreManager) worker(px process.Process) { for { select { - case <-bsm.px.Closing(): + case <-px.Closing(): return case job := <-bsm.jobs: job()