void process_results_callable::operator ()(Nids *nids, const char *db_filename) { Db db; if (db_filename && db_filename[0]) db.open(db_filename); while(true) { nids->process_result_sem.wait(); if (nids->threads_exit) break; if (db.is_opened()) nids->process_result(&db); else nids->process_result(NULL); } if (db_filename && db_filename[0]) db.close(); nids->threads_finished_sem.post(); BOOST_LOG_TRIVIAL(trace) << "process_result thread finished successfully" << endl; cout << "process result thread finished" << endl; }