diff options
author | Marc Pervaz Boocha <marcpervaz@qburst.com> | 2025-04-08 16:15:27 +0530 |
---|---|---|
committer | Marc Pervaz Boocha <marcpervaz@qburst.com> | 2025-04-08 16:15:27 +0530 |
commit | ebb2dc540858155152b21549afd77e65118e1474 (patch) | |
tree | 74aa4929bb8dfd9a1823baa0b56cecadd99e91b4 /encoding.go | |
parent | Added documentation and tests (diff) | |
download | cache-ebb2dc540858155152b21549afd77e65118e1474.tar cache-ebb2dc540858155152b21549afd77e65118e1474.tar.gz cache-ebb2dc540858155152b21549afd77e65118e1474.tar.bz2 cache-ebb2dc540858155152b21549afd77e65118e1474.tar.lz cache-ebb2dc540858155152b21549afd77e65118e1474.tar.xz cache-ebb2dc540858155152b21549afd77e65118e1474.tar.zst cache-ebb2dc540858155152b21549afd77e65118e1474.zip |
Lint and bug fixes
Diffstat (limited to '')
-rw-r--r-- | encoding.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/encoding.go b/encoding.go index fe376b2..a8778ab 100644 --- a/encoding.go +++ b/encoding.go @@ -121,6 +121,7 @@ func (d *decoder) DecodeTime() (time.Time, error) { if t.IsZero() { t = zero[time.Time]() } + return t, nil } @@ -231,17 +232,21 @@ func (d *decoder) DecodeStore(s *store) error { } func (s *store) Snapshot(w io.WriteSeeker) error { - s.Lock.Lock() - defer s.Lock.Unlock() + s.Lock.RLock() + defer s.Lock.RUnlock() if _, err := w.Seek(0, io.SeekStart); err != nil { return err } wr := newEncoder(w) - defer wr.Flush() - return wr.EncodeStore(s) + err := wr.EncodeStore(s) + if err != nil { + return err + } + + return wr.Flush() } func (s *store) LoadSnapshot(r io.ReadSeeker) error { |