Hi August, the main problem of your code is that the function m_child is stuck with waiting for the conditional (cond.Wait() ) when you want to delete object. On the other hand, there _was_ a flext bug when terminating such incooperative threads. (which is in cvs tomorrow morning)
There a two ways to make your code cleaner:
- in m_child use cond.TimedWait() with 100 ms or so, so that your loop
iteratives once in a while. Then you can also use ShouldExit()
- when you want to stick with your quit, you can also signal the conditional
just before StopThreads() in your destructor
thats it! your a mfg. mother fucking genious!
works beautifully now.
well, at least unter linux.
if your in vienna, i can treat you fro a beer tonight (if you are free)