fix bug in exempt_ptr
[libcds.git] / cds / urcu / exempt_ptr.h
index 0a7ba1f55262b5146e13f14a43594131319b96fa..9fb2d302f870cdacece69d7513912f452b60c1b7 100644 (file)
@@ -144,8 +144,8 @@ namespace cds { namespace urcu {
         /// Disposes the pointer. Should be called only outside of RCU critical section
         void release()
         {
-            assert( !rcu::is_locked() );
             if ( !empty() ) {
+                assert( !rcu::is_locked() );
                 rcu::template retire_ptr<disposer>( m_pNode );
                 m_pNode = nullptr;
             }