Skip to content

Commit cc177ed

Browse files
author
Drew Gingerich
authored
Pull runOnce logic out of handler (#170)
1 parent ba47301 commit cc177ed

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

cmd/godns/godns.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ func dnsLoop() {
7171
for _, domain := range configuration.Domains {
7272
domain := domain
7373
if configuration.RunOnce {
74-
ddnsHandler.DomainLoop(&domain, panicChan, configuration.RunOnce)
74+
ddnsHandler.UpdateIP(&domain)
7575
} else {
76-
go ddnsHandler.DomainLoop(&domain, panicChan, configuration.RunOnce)
76+
go ddnsHandler.LoopUpdateIP(&domain, panicChan)
7777
}
7878
}
7979

@@ -85,7 +85,7 @@ func dnsLoop() {
8585
for {
8686
failDomain := <-panicChan
8787
log.Debug("Got panic in goroutine, will start a new one... :", panicCount)
88-
go ddnsHandler.DomainLoop(&failDomain, panicChan, configuration.RunOnce)
88+
go ddnsHandler.LoopUpdateIP(&failDomain, panicChan)
8989

9090
panicCount++
9191
if panicCount >= utils.PanicMax {

internal/handler/handler.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,27 +31,22 @@ func (handler *Handler) SetProvider(provider provider.IDNSProvider) {
3131
handler.dnsProvider = provider
3232
}
3333

34-
func (handler *Handler) DomainLoop(domain *settings.Domain, panicChan chan<- settings.Domain, runOnce bool) {
34+
func (handler *Handler) LoopUpdateIP(domain *settings.Domain, panicChan chan<- settings.Domain) {
3535
defer func() {
3636
if err := recover(); err != nil {
3737
log.Errorf("Recovered in %v: %v", err, string(debug.Stack()))
3838
panicChan <- *domain
3939
}
4040
}()
4141

42-
for while := true; while; while = !runOnce {
43-
handler.domainLoop(domain)
44-
45-
if runOnce {
46-
break
47-
}
48-
42+
for {
43+
handler.UpdateIP(domain)
4944
log.Debugf("DNS update loop finished, will run again in %d seconds", handler.Configuration.Interval)
5045
time.Sleep(time.Second * time.Duration(handler.Configuration.Interval))
5146
}
5247
}
5348

54-
func (handler *Handler) domainLoop(domain *settings.Domain) {
49+
func (handler *Handler) UpdateIP(domain *settings.Domain) {
5550
ip, err := utils.GetCurrentIP(handler.Configuration)
5651
if err != nil {
5752
log.Error(err)

0 commit comments

Comments
 (0)