Restore the bank fold and usage publish to the resume path, guard setActive against repeats, and make the meter fold's bound literal
The resume also hands back to a full reload when the fold moves the loaded capture's decode source, so the refs table and the audio cannot skew.
This commit is contained in:
@@ -20,7 +20,8 @@ static int g_fail = 0;
|
||||
|
||||
// Stands in for std::atomic<float> with ONE scripted interference: the first compare-exchange
|
||||
// runs the UI's consume (identity reinstalled, the window taken) and reports failure exactly as
|
||||
// the real CAS does — expected updated to what the consume left. Everything after is ordinary.
|
||||
// the real CAS does — expected updated to what the consume left. Everything after is ordinary,
|
||||
// which is what makes the retry count assertable: a strong CAS fails only under interference.
|
||||
struct ConsumingAccumulator {
|
||||
float value;
|
||||
float identity;
|
||||
@@ -29,8 +30,8 @@ struct ConsumingAccumulator {
|
||||
|
||||
float load(std::memory_order) const { return value; }
|
||||
|
||||
bool compare_exchange_weak(float& expected, float desired, std::memory_order,
|
||||
std::memory_order) {
|
||||
bool compare_exchange_strong(float& expected, float desired, std::memory_order,
|
||||
std::memory_order) {
|
||||
if (casCount++ == 0) {
|
||||
consumed = value;
|
||||
value = identity;
|
||||
|
||||
Reference in New Issue
Block a user