From 2c5b2362ece0be5af5c42d8503e03265e9dbfa74 Mon Sep 17 00:00:00 2001 From: Daniel Theophanes Date: Wed, 28 May 2014 11:15:24 -0700 Subject: [PATCH] service/example: update to not deadlock. --- example/main.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/example/main.go b/example/main.go index 1d2e72c..8bc2cb1 100644 --- a/example/main.go +++ b/example/main.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os" + "time" "bitbucket.org/kardianos/service" ) @@ -73,10 +74,21 @@ func main() { } } +var exit = make(chan struct{}) + func doWork() { log.Info("I'm Running!") - select {} + ticker := time.NewTicker(time.Minute) + for { + select { + case <-ticker.C: + log.Info("Still running...") + case <-exit: + return + } + } } func stopWork() { log.Info("I'm Stopping!") + exit <- struct{}{} }