X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=cds%2Fintrusive%2Fsplit_list.h;h=1b9560498605994bdbd599a92d96395281fe556b;hb=258032093b65ad34cc4b901b6ddbd6f1401d36a8;hp=1316360f03d15aafc81970921bd052b74641185a;hpb=81d09ca9a060746080009db20b8f659cb02a1eac;p=libcds.git diff --git a/cds/intrusive/split_list.h b/cds/intrusive/split_list.h index 1316360f..1b956049 100644 --- a/cds/intrusive/split_list.h +++ b/cds/intrusive/split_list.h @@ -25,7 +25,7 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef CDSLIB_INTRUSIVE_SPLIT_LIST_H @@ -248,6 +248,9 @@ namespace cds { namespace intrusive { typedef typename traits::stat stat; ///< Internal statistics, see \p spit_list::stat typedef typename ordered_list::guarded_ptr guarded_ptr; ///< Guarded pointer + /// Count of hazard pointer required + static CDS_CONSTEXPR const size_t c_nHazardPtrCount = ordered_list::c_nHazardPtrCount + 4; // +4 - for iterators + protected: typedef typename ordered_list::node_type list_node_type; ///< Node type as declared in ordered list typedef split_list::node node_type; ///< split-list node type @@ -751,10 +754,10 @@ namespace cds { namespace intrusive { std::pair bRet = m_List.update_at( pHead, val, func, bAllowInsert ); if ( bRet.first && bRet.second ) { inc_item_count(); - m_Stat.onEnsureNew(); + m_Stat.onUpdateNew(); } else - m_Stat.onEnsureExist(); + m_Stat.onUpdateExist(); return bRet; } //@cond