From c4979954e86cf73f53426d81902bb52689c20862 Mon Sep 17 00:00:00 2001 From: Meng Zhuo Date: Wed, 21 Sep 2016 19:36:07 +0800 Subject: [PATCH] fix dht-server cmd won't exit after Ctrl+C --- cmd/dht-server/main.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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() } -- 2.50.0