X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1a0a58c4f22af82e0a37440af3b0948771bca5e1..e1020f4ad01b6f583a9d3c2bf6d146cd9e0d9331:/services/keepproxy/keepproxy.go diff --git a/services/keepproxy/keepproxy.go b/services/keepproxy/keepproxy.go index a927b87ea6..de4ccafc28 100644 --- a/services/keepproxy/keepproxy.go +++ b/services/keepproxy/keepproxy.go @@ -80,12 +80,12 @@ func main() { if pidfile != "" { f, err := os.Create(pidfile) - if err == nil { - fmt.Fprint(f, os.Getpid()) - f.Close() - } else { - log.Printf("Error writing pid file (%s): %s", pidfile, err.Error()) + if err != nil { + log.Fatalf("Error writing pid file (%s): %s", pidfile, err.Error()) } + fmt.Fprint(f, os.Getpid()) + f.Close() + defer os.Remove(pidfile) } kc.Want_replicas = default_replicas @@ -104,30 +104,17 @@ func main() { s := <-sig log.Println("caught signal:", s) listener.Close() + listener = nil }(term) signal.Notify(term, syscall.SIGTERM) signal.Notify(term, syscall.SIGINT) - if pidfile != "" { - f, err := os.Create(pidfile) - if err == nil { - fmt.Fprint(f, os.Getpid()) - f.Close() - } else { - log.Printf("Error writing pid file (%s): %s", pidfile, err.Error()) - } - } - log.Printf("Arvados Keep proxy started listening on %v with server list %v", listener.Addr(), kc.ServiceRoots()) // Start listening for requests. http.Serve(listener, MakeRESTRouter(!no_get, !no_put, &kc)) log.Println("shutting down") - - if pidfile != "" { - os.Remove(pidfile) - } } type ApiTokenCache struct {