aboutsummaryrefslogtreecommitdiff
path: root/go/weed/volume.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-05-13 15:04:04 -0700
committerChris Lu <chris.lu@gmail.com>2014-05-13 15:04:04 -0700
commitdac95464b86bf7ef4da7beec6a13667de8933367 (patch)
treef85dc20477818b405c94a6b4170ce1f841d27a20 /go/weed/volume.go
parent029923329da27791566e6c5b13a013b015dda252 (diff)
downloadseaweedfs-dac95464b86bf7ef4da7beec6a13667de8933367.tar.xz
seaweedfs-dac95464b86bf7ef4da7beec6a13667de8933367.zip
better handling of os signals
Diffstat (limited to 'go/weed/volume.go')
-rw-r--r--go/weed/volume.go13
1 files changed, 3 insertions, 10 deletions
diff --git a/go/weed/volume.go b/go/weed/volume.go
index 5afa8eea5..c4177a98a 100644
--- a/go/weed/volume.go
+++ b/go/weed/volume.go
@@ -6,7 +6,6 @@ import (
"code.google.com/p/weed-fs/go/weed/weed_server"
"net/http"
"os"
- "os/signal"
"runtime"
"strconv"
"strings"
@@ -92,15 +91,9 @@ func runVolume(cmd *Command, args []string) bool {
glog.Fatalf(e.Error())
}
- // deal with control+c
- signalChan := make(chan os.Signal, 1)
- signal.Notify(signalChan, os.Interrupt, os.Kill)
- go func() {
- for _ = range signalChan {
- volumeServer.Shutdown()
- os.Exit(0)
- }
- }()
+ OnInterrupt(func() {
+ volumeServer.Shutdown()
+ })
if e := http.Serve(listener, r); e != nil {
glog.Fatalf("Fail to serve:%s", e.Error())