From: Meng Zhuo Date: Wed, 21 Sep 2016 11:36:07 +0000 (+0800) Subject: fix dht-server cmd won't exit after Ctrl+C X-Git-Tag: v1.0.0~570 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=c4979954e86cf73f53426d81902bb52689c20862;p=btrtrc.git fix dht-server cmd won't exit after Ctrl+C --- diff --git a/cmd/dht-server/main.go b/cmd/dht-server/main.go index 15c523a5..7e716c0d 100644 --- a/cmd/dht-server/main.go +++ b/cmd/dht-server/main.go @@ -68,7 +68,6 @@ func init() { log.Fatalf("error loading table: %s", err) } log.Printf("dht server on %s, ID is %q", s.Addr(), s.ID()) - setupSignals() } func saveTable() error { @@ -102,15 +101,16 @@ func saveTable() error { func setupSignals() { ch := make(chan os.Signal) signal.Notify(ch) - go func() { - <-ch - s.Close() - }() + <-ch + s.Close() + + if *tableFileName != "" { + if err := saveTable(); err != nil { + log.Printf("error saving node table: %s", err) + } + } } func main() { - select {} - // if err := saveTable(); err != nil { - // log.Printf("error saving node table: %s", err) - // } + setupSignals() }