Skip to content

Commit 144dc89

Browse files
Copilotgfauredev
andcommitted
Optimize mutex usage in exercise validation - avoid long lock holds
Co-authored-by: gfauredev <19304085+gfauredev@users.noreply.github.com>
1 parent 023814d commit 144dc89

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

src/services/storage.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,8 @@ fn migrate_sessions(sessions: &mut Vec<WorkoutSession>) -> bool {
256256
fn validate_workout_exercises(workouts: &mut Vec<Workout>) {
257257
use crate::services::exercise_db;
258258

259-
let custom_exercises = CUSTOM_EXERCISES.lock().unwrap_or_else(|e| e.into_inner());
259+
// Clone custom exercises to avoid holding the lock during validation
260+
let custom_exercises = CUSTOM_EXERCISES.lock().unwrap_or_else(|e| e.into_inner()).clone();
260261
let mut orphaned_count = 0;
261262

262263
for workout in workouts.iter() {

0 commit comments

Comments
 (0)