aboutsummaryrefslogtreecommitdiffstats
path: root/encoding.go
diff options
context:
space:
mode:
authorMarc Pervaz Boocha <marcpervaz@qburst.com>2025-04-08 16:15:27 +0530
committerMarc Pervaz Boocha <marcpervaz@qburst.com>2025-04-08 16:15:27 +0530
commitebb2dc540858155152b21549afd77e65118e1474 (patch)
tree74aa4929bb8dfd9a1823baa0b56cecadd99e91b4 /encoding.go
parentAdded documentation and tests (diff)
downloadcache-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 'encoding.go')
-rw-r--r--encoding.go13
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 {