Improve interruption handling.

This commit is contained in:
Matt T. Proud 2013-01-06 23:30:46 +01:00
parent f19ca0e8a5
commit aa474d3623
1 changed files with 8 additions and 1 deletions

View File

@ -20,6 +20,7 @@ import (
"log" "log"
"net/http" "net/http"
"os" "os"
"os/signal"
"time" "time"
) )
@ -30,10 +31,16 @@ func main() {
os.Exit(1) os.Exit(1)
} }
defer func() { go func() {
notifier := make(chan os.Signal)
signal.Notify(notifier, os.Interrupt)
<-notifier
m.Close() m.Close()
os.Exit(0)
}() }()
defer m.Close()
results := make(chan retrieval.Result, 4096) results := make(chan retrieval.Result, 4096)
t := &retrieval.Target{ t := &retrieval.Target{