aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/routes/api/session/root.zig4
-rw-r--r--src/storage/session-manager/root.zig6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/routes/api/session/root.zig b/src/routes/api/session/root.zig
index c8c2223..a889869 100644
--- a/src/routes/api/session/root.zig
+++ b/src/routes/api/session/root.zig
@@ -1,7 +1,7 @@
const HandlerInfo = @import("../../handler-info.zig");
pub const current: HandlerInfo = .from_type(@import("current.zig"));
-pub const drop: HandlerInfo = .from_type(@import("renew.zig"));
-pub const renew: HandlerInfo = .from_type(@import("drop.zig"));
+pub const drop: HandlerInfo = .from_type(@import("drop.zig"));
+pub const renew: HandlerInfo = .from_type(@import("renew.zig"));
pub const @"is-valid": HandlerInfo = .from_type(@import("is-valid.zig"));
pub const @"is-online": HandlerInfo = .from_type(@import("is-online.zig"));
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();
}