Added more checking
[libcds.git] / cds / memory / vyukov_queue_pool.h
index 938f158e69f4a82d6526fda399b12ee9469fdb9b..c7be7f43273605dadf121021d48f97b97451bb0c 100644 (file)
@@ -405,8 +405,9 @@ namespace cds { namespace memory {
         //@cond
         void preallocate_pool()
         {
-            m_pFirst = cxx_allocator().NewArray( m_Queue.capacity() );
-            m_pLast = m_pFirst + m_Queue.capacity();
+            size_t const nCount = m_Queue.capacity();
+            m_pFirst = cxx_allocator().NewArray( nCount );
+            m_pLast = m_pFirst + nCount;
 
             for ( value_type * p = m_pFirst; p < m_pLast; ++p )
                 CDS_VERIFY( m_Queue.push( *p )) ;   // must be true
@@ -474,7 +475,7 @@ namespace cds { namespace memory {
 
             if ( p ) {
                 assert( from_pool( p ));
-                m_Queue.push( *p );
+                CDS_VERIFY( m_Queue.push( *p ));
             }
         }
     };