lib/svcutil: Simplify doneService (#7303)

OnSupervisorDone no longer allocates.

Co-authored-by: greatroar <@>
This commit is contained in:
greatroar
2021-01-25 16:27:17 +01:00
committed by GitHub
parent e32a516b5f
commit 6c3e187d1d

View File

@@ -144,19 +144,17 @@ func (s *service) String() string {
}
type doneService struct {
fn func()
}
type doneService func()
func (s *doneService) Serve(ctx context.Context) error {
func (fn doneService) Serve(ctx context.Context) error {
<-ctx.Done()
s.fn()
fn()
return nil
}
// OnSupervisorDone calls fn when sup is done.
func OnSupervisorDone(sup *suture.Supervisor, fn func()) {
sup.Add(&doneService{fn})
sup.Add(doneService(fn))
}
func SpecWithDebugLogger(l logger.Logger) suture.Spec {