diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-11-25 09:27:51 +0100 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-11-25 09:27:51 +0100 |
| commit | 605b03bfbd36e41819000ee0aed80df3c767b069 (patch) | |
| tree | 2458e1432d0673fe86b560dd20e1392136580f54 /src/storage/session-manager/root.zig | |
| parent | dc36b1684c4da47defe8d3941ef60efb7cd8087e (diff) | |
fix login dialog and logout
Diffstat (limited to 'src/storage/session-manager/root.zig')
| -rw-r--r-- | src/storage/session-manager/root.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/storage/session-manager/root.zig b/src/storage/session-manager/root.zig index 8a59f21..db95629 100644 --- a/src/storage/session-manager/root.zig +++ b/src/storage/session-manager/root.zig @@ -46,13 +46,13 @@ pub fn renew(self: *Self, storage: *Storage, fingerprint: []const u8) !*Session pub fn remove(self: *Self, storage: *Storage, fingerprint: []const u8) void { self.rw_lock.lockShared(); - if (self.cache.getPtr(fingerprint)) |session| { + if (self.cache.contains(fingerprint)) { self.rw_lock.unlockShared(); self.rw_lock.lock(); defer self.rw_lock.unlock(); - session.deinit(storage.allocator); - _ = self.cache.remove(fingerprint); + const kv = self.cache.fetchRemove(fingerprint) orelse return; + kv.value.deinit(storage.allocator); } else { self.rw_lock.unlockShared(); } |