Make Stop() optional.
This commit is contained in:
@@ -13,6 +13,7 @@ type Config struct {
|
|||||||
Name, DisplayName, LongDescription string
|
Name, DisplayName, LongDescription string
|
||||||
|
|
||||||
// Called when the service starts or stops.
|
// Called when the service starts or stops.
|
||||||
|
// Stop() may be nil.
|
||||||
Start, Stop func()
|
Start, Stop func()
|
||||||
|
|
||||||
s service.Service
|
s service.Service
|
||||||
@@ -62,7 +63,11 @@ func Run(c *Config) {
|
|||||||
fmt.Printf("Service \"%s\" removed.\n", c.DisplayName)
|
fmt.Printf("Service \"%s\" removed.\n", c.DisplayName)
|
||||||
case "run":
|
case "run":
|
||||||
c.l = ConsoleLogger{}
|
c.l = ConsoleLogger{}
|
||||||
defer c.Stop()
|
defer func() {
|
||||||
|
if c.Stop != nil {
|
||||||
|
c.Stop()
|
||||||
|
}
|
||||||
|
}()
|
||||||
c.Start()
|
c.Start()
|
||||||
case "start":
|
case "start":
|
||||||
err = s.Start()
|
err = s.Start()
|
||||||
@@ -87,7 +92,9 @@ func Run(c *Config) {
|
|||||||
return nil
|
return nil
|
||||||
}, func() error {
|
}, func() error {
|
||||||
// stop
|
// stop
|
||||||
c.Stop()
|
if c.Stop != nil {
|
||||||
|
c.Stop()
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user