changes
[cdsspec-compiler.git] / benchmark / read-copy-update / rcu.cc
index e0edc4e0a1cdc4ffbbc83c6099ce6c0c57cbb169..b66548039d9438a9ed4db3aeeb6675fa6c545304 100644 (file)
@@ -80,8 +80,8 @@ Data* read() {
 Data* write(int d1, int d2, int d3) {
        bool succ = false;
        Data *tmp = (Data*) malloc(sizeof(Data));
+       Data *prev = data.load(memory_order_acquire);
        do {
-               Data *prev = data.load(memory_order_acquire);
         //store_32(&tmp->data1, prev->data1 + d1);
         tmp->data1 = prev->data1 + d1;
            tmp->data2 = prev->data2 + d2;