- int n = 0;
- for (list<boost::thread>::iterator i = _threads.begin(); i != _threads.end(); ++i) {
- /* Be careful not to throw in here otherwise _threads will not be clear()ed */
- LOG_GENERAL ("Terminating thread %1 of %2", n + 1, _threads.size ());
- i->interrupt ();
- try {
- i->join ();
- } catch (exception& e) {
- LOG_ERROR ("join() threw an exception: %1", e.what());
- } catch (...) {
- LOG_ERROR_NC ("join() threw an exception");
- }
- LOG_GENERAL_NC ("Thread terminated");
- ++n;