From 8d575c14d288e80be35f40131468853fcc2667ee Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Tue, 7 Nov 2023 17:34:50 +0100 Subject: [PATCH] fix: dissolve dead lock. #7 --- database.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/database.go b/database.go index 5b22a87..98d32e7 100644 --- a/database.go +++ b/database.go @@ -50,9 +50,12 @@ func (s *DBSaver) setStatus(status DBSaverStatus) *DBSaver { } // isStatus returns true if the DBSaver has the given status -func (s *DBSaver) isStatus(status DBSaverStatus) bool { - s.mu.Lock() - defer s.mu.Unlock() +// the lock is not needed here, because it is only used in the Start() method +func (s *DBSaver) isStatus(status DBSaverStatus, lock bool) bool { + if lock { + s.mu.Lock() + defer s.mu.Unlock() + } return s.status == status @@ -67,7 +70,7 @@ func (s *DBSaver) Start() error { return ErrNoDatabaseConnection } - if s.isStatus(DBSaverStatusRunning) { + if s.isStatus(DBSaverStatusRunning, false) { return nil } -- GitLab