[beast: 4/8] BSE: bsemidireceiver.cc: fix missing memory fence



commit ae684955573015558073ef9fa5fb71095ef3e5eb
Author: Tim Janik <timj gnu org>
Date:   Wed Mar 15 01:09:47 2017 +0100

    BSE: bsemidireceiver.cc: fix missing memory fence
    
    Signed-off-by: Tim Janik <timj gnu org>

 bse/bsemidireceiver.cc |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/bse/bsemidireceiver.cc b/bse/bsemidireceiver.cc
index 4b86559..b19da75 100644
--- a/bse/bsemidireceiver.cc
+++ b/bse/bsemidireceiver.cc
@@ -1725,7 +1725,8 @@ bse_midi_receiver_discard_sub_voice (BseMidiReceiver   *self,
             {
               VoiceInput *vinput = vswitch->vinputs[i];
               /* second, unlist vinput */
-              vswitch->vinputs[i] = vswitch->vinputs[--vswitch->n_vinputs]; /* FIXME: need 
memory-write-barrier */
+              vswitch->vinputs[i] = vswitch->vinputs[--vswitch->n_vinputs];
+              RAPICORN_MFENCE;
               /* last, queue vinput destruction */
               destroy_voice_input_L (vinput, trans);
               /* the order of the above steps is important to prevent DSP-threads


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]