Open objects76 opened 4 years ago
I think the lock(std::uniquelock lock(mtx)) makes deadlock in checkthread...
~rpc_server() { { //std::unique_lock<std::mutex> lock(mtx_);//-jjkim stop_check_ = true; cv_.notify_all(); check_thread_->join(); } { std::unique_lock<std::mutex> lock(sub_mtx_); stop_check_pub_sub_ = true; lock.unlock();//+jjkim sub_cv_.notify_all(); pub_sub_thread_->join(); } io_service_pool_.stop(); if(thd_){ thd_->join(); } }
I think it's right, no deadlock here.
I think the lock(std::uniquelock lock(mtx )) makes deadlock in checkthread...