I am using boost::thread_group, after sending signal I catch it and sending interrupt_all() on thread_group. Nearly always there is one(!) thread which is not interrupted although he goes through interruption points. I thought that maybe using dual core processor can cause it. However even if I set to launch all threads on one core this problem occurs.
What can be a reason?
Creating my own (global) interruption_point is only one solution which comes to my mind.