AMDG Julien Claassen wrote:
Thank you, Steven, for your solution. But now I have a problem. I used boost::lambda::var both in my read and control/output function, both still member functions of their respective classes. So the boost::lambda::var in the controller/output thread has a real int, while the boost::lambda::var in the input function has a reference to that same int. Not sure if this is the problem.
It shouldn't be a problem. Can you post the exact expressions? Of course, you can always use the traditional form of a wait loop: while(size == 0) condition.wait(lock);
Now working with the Boost library collect 1.4.0 and g++ (Debian 4.3.2-1.1) 4.3.2 Compilation for a small example program takes very long (over 10-15 seconds!) and then produces a very long error. The gist of it, as I understand is: depth for template nesting is exceeded. There should be a depth > 500 somewhere and it is all about Boost.Lambda. Would someone have an idea on that? May it have to do with the class-structure and the reference passed to the boost::lambda::var?
In Christ, Steven Watanabe