mirror of
https://github.com/syncthing/syncthing.git
synced 2026-02-07 04:32:28 -05:00
lib/svcutil: Simplify doneService (#7303)
OnSupervisorDone no longer allocates. Co-authored-by: greatroar <@>
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user