rculfhash: Ensure future-proof memory barrier semantic consistency
[urcu.git] / rculfhash.c
index e9cf0622f53576ef8ad8c08eda082c37f1151b86..3ad3618aa7297ee5403d176d5c7f0e02be504def 100644 (file)
@@ -1073,6 +1073,11 @@ int _cds_lfht_del(struct cds_lfht *ht, unsigned long size,
        if (caa_unlikely(is_removed(next)))
                return -ENOENT;
        assert(!is_bucket(next));
+       /*
+        * The del operation semantic guarantees a full memory barrier
+        * before the uatomic_or atomic commit of the deletion flag.
+        */
+       cmm_smp_mb__before_uatomic_or();
        /*
         * We set the REMOVED_FLAG unconditionally. Note that there may
         * be more than one concurrent thread setting this flag.
This page took 0.022606 seconds and 4 git commands to generate.