Boost logo

Boost :

Subject: Re: [boost] [threads / signals2] Win events replace by boost signals (threadsafe)
From: Ben Pope (benpope81_at_[hidden])
Date: 2015-03-23 07:24:52


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#thread.thread_management.thread.destructor
>>
>> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk