From 9b43e07d7f31edff63e76bbad879e015ab3df21b Mon Sep 17 00:00:00 2001 From: Eugene Bujak Date: Wed, 5 Dec 2018 14:21:48 +0300 Subject: [PATCH] dnsforward -- flush querylog to file on server stop --- dnsforward/dnsforward.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dnsforward/dnsforward.go b/dnsforward/dnsforward.go index a5a7193a..508011fc 100644 --- a/dnsforward/dnsforward.go +++ b/dnsforward/dnsforward.go @@ -215,6 +215,18 @@ func (s *Server) Stop() error { return errorx.Decorate(err, "Couldn't close UDP listening socket") } } + + // flush remainder to file + logBufferLock.Lock() + flushBuffer := logBuffer + logBuffer = nil + logBufferLock.Unlock() + err := flushToFile(flushBuffer) + if err != nil { + log.Printf("Saving querylog to file failed: %s", err) + return err + } + return nil }