in platform/consensus/execution/transaction_executor.cpp [97:115]
void TransactionExecutor::Stop() {
stop_ = true;
if (ordering_thread_.joinable()) {
ordering_thread_.join();
}
for (auto& th : execute_thread_) {
if (th.joinable()) {
th.join();
}
}
for (auto& th : prepare_thread_) {
if (th.joinable()) {
th.join();
}
}
if (execute_OOO_thread_.joinable()) {
execute_OOO_thread_.join();
}
}