← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 617591] Re: Pointer.h/intrusive_ptr_base class is too heavy-weight

 

Fixed in DC++ 0.780.

** Changed in: dcplusplus
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of LinuxDC++
Team, which is subscribed to LinuxDC++.
https://bugs.launchpad.net/bugs/617591

Title:
  Pointer.h/intrusive_ptr_base class is too heavy-weight

Status in DC++:
  Fix Released
Status in Linux DC++:
  Confirmed

Bug description:
  "Pointer.h/intrusive_ptr_base" class is too heavy-weight (at least on unix), it uses pthread mutex for every increment/decrement. And since this mutex is static (Thread::mtx), it leads to bad concurrency even for independent intrusive pointers.
  Patch attached, which uses portable atomic reference counters from boost.
  It uses boost::detail::atomic_count from shared_ptr, so it may theoretically change in future (since it is in detail), but I doubt it will.





References