Merge pull request #64 from DevEverything01/fix/heartbeat-service-start-bug
fix(heartbeat): resolve bug where service could never start
This commit is contained in:
@@ -14,6 +14,7 @@ type HeartbeatService struct {
|
||||
interval time.Duration
|
||||
enabled bool
|
||||
mu sync.RWMutex
|
||||
started bool
|
||||
stopChan chan struct{}
|
||||
}
|
||||
|
||||
@@ -31,7 +32,7 @@ func (hs *HeartbeatService) Start() error {
|
||||
hs.mu.Lock()
|
||||
defer hs.mu.Unlock()
|
||||
|
||||
if hs.running() {
|
||||
if hs.started {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -39,6 +40,7 @@ func (hs *HeartbeatService) Start() error {
|
||||
return fmt.Errorf("heartbeat service is disabled")
|
||||
}
|
||||
|
||||
hs.started = true
|
||||
go hs.runLoop()
|
||||
|
||||
return nil
|
||||
@@ -48,10 +50,11 @@ func (hs *HeartbeatService) Stop() {
|
||||
hs.mu.Lock()
|
||||
defer hs.mu.Unlock()
|
||||
|
||||
if !hs.running() {
|
||||
if !hs.started {
|
||||
return
|
||||
}
|
||||
|
||||
hs.started = false
|
||||
close(hs.stopChan)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user