[TSan] Fixed data race in std container wrappers
[libcds.git] / change.log
index 8e2f8bb0f3ce42dc69f05c6f0a574f0910db32a7..d4593cea1d82f450c562ce8a600cf7be641caeac 100644 (file)
     - Changed: exception handling. Now, exceptions raise by invoking new 
       cds::throw_exception() function. If you compile your code with exception disabled,
       the function prints an exception message to stdout and calls abort()
-      instead of throwing. You can provide your own cds::throw_exception() function 
-      and compile libcds with -DCDS_USER_DEFINED_THROW_EXCEPTION.
+      instead of throwing.
+    - Flat Combining: fixed memory-order bug that can lead to crash on weak ordered
+      architecture like PowerPC or ARM
+    - Added: erase_at( iterator ) function to MichaelHashSet/Map and SplitListSet/Map
+      based on IterableList
     - Fixed a bug in BronsonAVLTreeMap::extract_min()/extract_max()/clear().
+    - Removed: signal-handled threaded uRCU (cds::urcu::signal_threaded) due
+      bad performance
     - Added more flat-combining queue tests, thanks to Marsel Galimullin.
     - Changed cmake scripts to support MacOS and ARMv7/ARMv8 (64 bit),
       thanks to Michail Komarov (https://github.com/Nemo1369)
@@ -26,6 +31,8 @@
       envvar CDSTEST_DETAIL_LEVEL for reducing compile time and executable size.
       To make full testset compile libcds with -DCDS_STRESS_TEST_LEVEL=N where
       N is 1 or 2.
+    - Changed: refactoring cds::backoff::exponential and cds::backoff::delay
+      back-off strategies to avoid static data members in template classes. 
  
 2.2.0 04.01.2017
     General release