The root of the problem is that I wanted 2 worker threads to communicate
asynchronously via "one-way" signals and expected this:
Time Action
-------- -----------------------------------
1 Thread 1: raises signal
2 Thread 1: set up and wait for reply signal with a timeout
Thread 2: catches signal
3 Thread 2: composes and raises reply signal
4 Thread 1: catches reply
But what happens is that Thread 2 replies before Thread 1 can set up the
wait for the reply, so it times out, even though the reply was actually
sent.
What is the best way to fix this problem?
On Fri, May 22, 2015 at 12:42 AM, Gavin Lambert
On 22/05/2015 08:18, Victor Yankee wrote:
I have a thread with a class and its method that raises a "question" signal and needs to wait with a timeout for an "answer" signal.
There are several worker threads, some of which may be connected to the question signal. The answer signal will be raised by a worker thread only if it knows the answer; it is possible that no worker thread knows the answer so no answer signal will be raised (hence need for timeout). The question thread cannot know which worker thread to ask.
The first thing you need to work out is what happens if more than one worker thread knows the answer. Or whether this is not possible for other reasons.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users