소스 검색

Remove double goroutine

(thanks to Uriel on #go-nuts)
Ask Bjørn Hansen 13 년 전
부모
커밋
3d4020cfbd
2개의 변경된 파일6개의 추가작업 그리고 8개의 파일을 삭제
  1. 1 1
      geodns.go
  2. 5 7
      serve.go

+ 1 - 1
geodns.go

@@ -24,7 +24,7 @@ func main() {
 	Zones := make(Zones)
 
 	go configReader(dirName, Zones)
-	go startServer(&Zones)
+	go listenAndServe(&Zones)
 
 	if *flagrun {
 		sig := make(chan os.Signal)

+ 5 - 7
serve.go

@@ -96,13 +96,11 @@ func setupServerFunc(Zone *Zone) func(dns.ResponseWriter, *dns.Msg) {
 	}
 }
 
-func startServer(Zones *Zones) {
+func listenAndServe(Zones *Zones) {
 
 	// Only listen on UDP for now
-	go func() {
-		log.Printf("Opening on %s %s", *listen, "udp")
-		if err := dns.ListenAndServe(*listen, "udp", nil); err != nil {
-			log.Fatalf("geodns: failed to setup %s %s", *listen, "udp")
-		}
-	}()
+	log.Printf("Opening on %s %s", *listen, "udp")
+	if err := dns.ListenAndServe(*listen, "udp", nil); err != nil {
+		log.Fatalf("geodns: failed to setup %s %s", *listen, "udp")
+	}
 }