From 9657b6941dc7dd6494d191e1431722d0440c9690 Mon Sep 17 00:00:00 2001 From: paulina Date: Tue, 19 Nov 2024 11:38:15 -0500 Subject: [PATCH] #171[LP] Implement reusable file closing functionality in logtarget and use it in freezelog.Close() to ensure proper file closure on the server. --- pkg/logtarget/logtarget.go | 12 ++++++++++++ server/server.go | 2 ++ 2 files changed, 14 insertions(+) diff --git a/pkg/logtarget/logtarget.go b/pkg/logtarget/logtarget.go index 46a2eb2..3e78041 100644 --- a/pkg/logtarget/logtarget.go +++ b/pkg/logtarget/logtarget.go @@ -78,3 +78,15 @@ func (target *LogTarget) Rotate() error { return nil } +func (target *LogTarget) Close() error { + target.mu.Lock() + defer target.mu.Unlock() + + // Close the existing log file + err := target.file.Close() + if err != nil { + return err + } + + return nil +} diff --git a/server/server.go b/server/server.go index 9d728eb..d4f8cc5 100644 --- a/server/server.go +++ b/server/server.go @@ -1661,6 +1661,8 @@ func (server *Server) Stop() (err error) { server.cleanPerLaunchData() server.running = false server.Printf("Stopped") + logtarget.Target.Close() + server.freezelog.Close() return nil }