summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <m.shulhan@gmail.com>2020-05-16 12:56:16 +0700
committerShulhan <m.shulhan@gmail.com>2020-07-26 03:48:51 +0700
commit7b9cba12d356c6fa9ee3988b5c96f8718aafd5f1 (patch)
tree23836157c5b20e35f908c571c5135e493f41dab8
parentf1c6fded9af3468b8583c1e07f664a2258606200 (diff)
downloadrescached-7b9cba12d356c6fa9ee3988b5c96f8718aafd5f1.tar.xz
rescached: stop watching file resolv.conf on Stop
-rw-r--r--rescached.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/rescached.go b/rescached.go
index 8267c2c..ccb2e39 100644
--- a/rescached.go
+++ b/rescached.go
@@ -19,6 +19,7 @@ type Server struct {
fileConfig string
dns *dns.Server
opts *Options
+ rcWatcher *libio.Watcher
}
//
@@ -55,7 +56,8 @@ func New(fileConfig string) (srv *Server, err error) {
//
func (srv *Server) Start() (err error) {
if len(srv.opts.FileResolvConf) > 0 {
- _, err = libio.NewWatcher(srv.opts.FileResolvConf, 0, srv.watchResolvConf)
+ srv.rcWatcher, err = libio.NewWatcher(
+ srv.opts.FileResolvConf, 0, srv.watchResolvConf)
if err != nil {
log.Fatal("rescached: Start:", err)
}
@@ -68,6 +70,9 @@ func (srv *Server) Start() (err error) {
// Stop the server.
//
func (srv *Server) Stop() {
+ if srv.rcWatcher != nil {
+ srv.rcWatcher.Stop()
+ }
srv.dns.Stop()
}