id summary reporter owner description type status milestone component version severity resolution keywords cc 4089 Memory leak in Boost.Signals2 when the signal is not invoked dan.berindei@… Frank Mori Hess "The attached program leaks memory by attaching and detaching slots from a signal in a loop: {{{ boost::signals2::signal sig; boost::signals2::connection conn1, conn2, conn3, conn4; while (true) { conn1.disconnect(); conn2.disconnect(); conn1 = sig.connect(slot); conn2 = sig.connect(slot); conn3.disconnect(); conn4.disconnect(); conn3 = sig.connect(slot); conn4 = sig.connect(slot); //sig(); } }}} Invoking the signal (i.e. uncommenting the 'sig()' line) plugs the memory leak, however in my original setting it entails lots of unnecessary work so it's not a very good solution. My guess is that _garbage_collector_it is set to _shared_state->connection_bodies().end() on invocation, but not on a new connection, so it never goes back to the beginning of the list." Bugs closed To Be Determined signals2 Boost 1.55.0 Problem invalid