Ticket #10721: slot_call_iterator.hpp.patch

File slot_call_iterator.hpp.patch, 648 bytes (added by Stefan Bühler <buehler@…>, 8 years ago)
  • slot_call_iterator.hpp

    Release tracked shared_ptrs outside the lock to avoid a deadlock if
    boost::signals2::mutex doesn't lock recursively.
     
    113113          }
    114114          for(;iter != end; ++iter)
    115115          {
     116            cache->tracked_ptrs.clear();
    116117            lock_type lock(**iter);
    117             cache->tracked_ptrs.clear();
    118118            (*iter)->nolock_grab_tracked_objects(std::back_inserter(cache->tracked_ptrs));
    119119            if((*iter)->nolock_nograb_connected())
    120120            {