movable exempt_ptr: SkipList
[libcds.git] / tests / unit / set2 / set_delodd.cpp
index 29782a6649c5cbd57f6c38cc19f8b214c5251482..82bc58eed5c60b8d4570fa5ffc61f243dd492a2e 100644 (file)
@@ -475,13 +475,15 @@ namespace set2 {
                             if ( arrData[i] & 1 ) {
                                 if ( Set::c_bExtractLockExternal ) {
                                     typename Set::rcu_lock l;
-                                    if ( rSet.extract_with( xp, arrData[i], key_less() ))
+                                    xp = rSet.extract_with( arrData[i], key_less() );
+                                    if ( xp )
                                         ++m_nExtractSuccess;
                                     else
                                         ++m_nExtractFailed;
                                 }
                                 else {
-                                    if ( rSet.extract_with( xp, arrData[i], key_less() ))
+                                    xp = rSet.extract_with( arrData[i], key_less() );
+                                    if ( xp )
                                         ++m_nExtractSuccess;
                                     else
                                         ++m_nExtractFailed;
@@ -499,13 +501,15 @@ namespace set2 {
                             if ( arrData[i] & 1 ) {
                                 if ( Set::c_bExtractLockExternal ) {
                                     typename Set::rcu_lock l;
-                                    if ( rSet.extract_with( xp, arrData[i], key_less() ))
+                                    xp = rSet.extract_with( arrData[i], key_less() );
+                                    if ( xp )
                                         ++m_nExtractSuccess;
                                     else
                                         ++m_nExtractFailed;
                                 }
                                 else {
-                                    if ( rSet.extract_with( xp, arrData[i], key_less() ))
+                                    xp = rSet.extract_with( arrData[i], key_less() );
+                                    if ( xp )
                                         ++m_nExtractSuccess;
                                     else
                                         ++m_nExtractFailed;