summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-08-24 15:38:36 +0200
committerRobin Gareus <robin@gareus.org>2016-08-24 15:38:36 +0200
commit953b8ac99fdaf6d1ffc3395701ef37824ab75d91 (patch)
treec14ebd5c7a1d2ad230d19a8c0037b2acb1182e53
parentbd4424a74e6118e72fb855937ebbbaaf5ac134e7 (diff)
prevent a unlikely race: concurrent restore() + work_response ()
-rw-r--r--libs/plugins/a-fluidsynth.lv2/a-fluidsynth.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.c b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.c
index 79f5586e3f..34275e15b4 100644
--- a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.c
+++ b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.c
@@ -521,15 +521,16 @@ work_response (LV2_Handle instance,
const void* data)
{
AFluidSynth* self = (AFluidSynth*)instance;
- self->reinit_in_progress = false;
- self->queue_reinit = false;
- self->inform_ui = true;
if (self->initialized) {
strcpy (self->current_sf2_file_path, self->queue_sf2_file_path);
} else {
self->current_sf2_file_path[0] = 0;
}
+
+ self->reinit_in_progress = false;
+ self->inform_ui = true;
+ self->queue_reinit = false;
return LV2_WORKER_SUCCESS;
}