//启动工作线程 bool WorkerThread::Run() { do { //初始化管道 if (!CreateNotifyFds()) break; //初始化事件处理回调 if (!InitEventHandler()) break; try { shared_ptr_thread_.reset(new std::thread([this] { event_base_loop(pthread_event_base_, 0);})); } catch (...) { break; } return true; } while (0); return false; }
bool WorkerThread::Run() { do{ if(!CreateNotifyFds()) break; if(!InitEventHandler()) break; try{ shared_ptr_thread_.reset(new std::thread([this] {event_base_loop(pthread_event_base_, 0);} )); }catch(...) { break; } LOG(TRACE)<<"workerhread "<<thread_id_<<" run success"; return true; }while(0); LOG(ERROR)<<"workerhread "<<thread_id_<<"run failed"; return false; }
bool WorkerThread::Run() { do{ if(!CreateNotifyFds()) break; if(!InitEventHandler()) break; try{ shared_ptr_thread_.reset(new std::thread([this] { pthread_info=this;//thread_local variable event_base_loop(pthread_event_base_, 0); } )); }catch(...) { break; } return true; }while(0); return false; }