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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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 {