#include using namespace boost; struct Slot { void operator()() { } }; int main(void) { boost::signals2::signal sig; Slot slot; 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(); } return EXIT_SUCCESS; }