diff --git a/example/main.go b/example/main.go index aed3738..b671f0c 100644 --- a/example/main.go +++ b/example/main.go @@ -9,7 +9,12 @@ import ( func main() { var displayName = "Go Service Test2" var desc = "This is a test Go service. It is designed to run well." - var ws = service.NewService("GoServiceTest2", displayName, desc) + var ws, err = service.NewService("GoServiceTest2", displayName, desc) + + if(err != nil) { + fmt.Printf("%s unable to start: %s", displayName, err) + return + } if len(os.Args) > 1 { var err error @@ -28,11 +33,11 @@ func main() { fmt.Printf("Failed to remove: %s\n", err) return } - fmt.Printf("Service \"%s\" removed.", displayName) + fmt.Printf("Service \"%s\" removed.\n", displayName) } return } - err := ws.Run(func() error { + err = ws.Run(func() error { // start go doWork() ws.LogInfo("I'm Running!") diff --git a/service.go b/service.go index 5d8e025..e80b051 100644 --- a/service.go +++ b/service.go @@ -6,7 +6,7 @@ package service // and should not contain spaces. Display name is the pretty print // name. The description is an arbitrary string used to describe the // service. -func NewService(name, displayName, description string) Service { +func NewService(name, displayName, description string) (Service, error) { return newService(name, displayName, description) } diff --git a/service_windows.go b/service_windows.go index 38e7b23..6f40a16 100644 --- a/service_windows.go +++ b/service_windows.go @@ -7,12 +7,12 @@ import ( "unsafe" ) -func newService(name, displayName, description string) Service { +func newService(name, displayName, description string) (*windowsService, error) { return &windowsService{ name: name, displayName: displayName, description: description, - } + }, nil } type windowsService struct {