Skip to content

Commit 764ebcf

Browse files
committed
Fix deadlock in logout
1 parent 7f6d60c commit 764ebcf

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/main.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,10 +213,14 @@ async fn handle_logout(
213213
// Session cookie provided
214214
if let Some(id) = jar.get("nginx-auth") {
215215

216+
let mut session_guard = sessions.lock().unwrap();
217+
216218
// Session found
217-
if let Some(session_data) = sessions.lock().unwrap().get(id.value()) {
219+
if let Some(session_data) = session_guard.get(id.value()) {
218220
println!("User {} logout, removing session {}", id.value(), session_data.username.to_string());
219-
sessions.lock().unwrap().remove(id.value());
221+
session_guard.remove(id.value());
222+
drop(session_guard);
223+
save_sessions_to_file(&sessions);
220224
}
221225

222226
// Remove cookie

0 commit comments

Comments
 (0)