diff --git a/database.go b/database.go index 5b22a8730d698bc52bce7657f53d167fd8495244..98d32e75d2a5cee06e0de51984352665e2e7933c 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 }