Subject: Re: [boost] [threads / signals2] Win events replace by boost signals (threadsafe)
From: Fu ji (fujimailing_at_[hidden])
Date: 2015-03-23 07:45:07
I know about join and detach anyway thank you for advice.
auto c = signal.connect(()
//code for handling event1
//code for timeout
//thread interrupted by signal listener
when signal is 'catched' I interrupt main flow (timeout) and do stuff which
should be done if event occurs.
2015-03-23 12:24 GMT+01:00 Ben Pope <benpope81_at_[hidden]>:
> 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 << ".";
>>>> auto c = signal.connect(() //...
>>> At this point the thread detaches and the process exits:
>>> 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
> Unsubscribe & other changes: http://lists.boost.org/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk