mirror of
https://github.com/taigrr/godns
synced 2025-01-18 04:03:25 -08:00
commit
6f8839ba7b
26
godns.go
26
godns.go
@ -70,18 +70,6 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func dnsLoop() {
|
func dnsLoop() {
|
||||||
defer func() {
|
|
||||||
if err := recover(); err != nil {
|
|
||||||
panicCount++
|
|
||||||
log.Printf("Recovered in %v: %v\n", err, debug.Stack())
|
|
||||||
fmt.Println(identifyPanic())
|
|
||||||
log.Print(identifyPanic())
|
|
||||||
if panicCount < PANIC_MAX {
|
|
||||||
log.Println("Got panic in goroutine, will start a new one... :", panicCount)
|
|
||||||
go dnsLoop()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
for _, domain := range configuration.Domains {
|
for _, domain := range configuration.Domains {
|
||||||
go DomainLoop(&domain)
|
go DomainLoop(&domain)
|
||||||
@ -91,6 +79,20 @@ func dnsLoop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func DomainLoop(domain *Domain) {
|
func DomainLoop(domain *Domain) {
|
||||||
|
defer func() {
|
||||||
|
if err := recover(); err != nil {
|
||||||
|
panicCount++
|
||||||
|
log.Printf("Recovered in %v: %v\n", err, debug.Stack())
|
||||||
|
fmt.Println(identifyPanic())
|
||||||
|
log.Print(identifyPanic())
|
||||||
|
if panicCount < PANIC_MAX {
|
||||||
|
log.Println("Got panic in goroutine, will start a new one... :", panicCount)
|
||||||
|
go DomainLoop(domain)
|
||||||
|
} else {
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user