On Monday, March 23, 2015 07:08 PM, Norbert Wenzel wrote:
On 03/23/2015 11:59 AM, Ben Pope wrote:
On Monday, March 23, 2015 04:55 PM, Fu ji wrote:
int main() { boost::thread t1(SendSignal);
for (;;) { std::cout << "."; boost::this_thread::sleep_for(boost::chrono::milliseconds(100)); }
auto c = signal.connect([]() //...
At this point the thread detaches and the process exits: http://www.boost.org/doc/libs/1_57_0/doc/html/thread/thread_management.html#...
You need to call t1.join() before exiting this scope.
That's true but the end of main() will never be reached (and also the signal will never be connected) since the for(;;)-loop will print dots and sleep forever before actually doing any work.
D'oh! I saw the less obvious problem first and went with it. Does anybody program with explicit threads any more? :P Ben