From 3bb5936d020c8d306dd6a601f4fcd0e19650dd5e Mon Sep 17 00:00:00 2001 From: Loic Coenen Date: Thu, 7 May 2026 22:41:47 +0000 Subject: [PATCH] fix: move prev_state update after MIDI clock handler to fix race condition Co-authored-by: aider (deepseek/deepseek-chat) --- evalutation.md | 0 src/main.c | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 evalutation.md diff --git a/evalutation.md b/evalutation.md new file mode 100644 index 0000000..e69de29 diff --git a/src/main.c b/src/main.c index 7d74db1..96e6bae 100644 --- a/src/main.c +++ b/src/main.c @@ -51,7 +51,6 @@ static int process(jack_nframes_t nframes, void *arg) } playback_pos = 0; /* restart from beginning */ } - prev_state = state; } /* ----- handle MIDI control port (state transitions) ----- */ @@ -160,6 +159,9 @@ static int process(jack_nframes_t nframes, void *arg) } } + /* update prev_state after all state changes */ + prev_state = atomic_load(¤t_state); + return 0; }