From: JINMEI Tatuya Date: Mon, 15 Oct 2012 23:10:12 +0000 (-0700) Subject: [2205] small refactoring: extracting send-command part to a thread X-Git-Tag: trac2402_base~15^2~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f05b0be9d267baab1003963e231a3511dfcd7d5e;p=thirdparty%2Fkea.git [2205] small refactoring: extracting send-command part to a thread we'll use this pattern for other commands. --- diff --git a/src/bin/auth/datasrc_clients_mgr.h b/src/bin/auth/datasrc_clients_mgr.h index 794b515b3e..6b0384cfb9 100644 --- a/src/bin/auth/datasrc_clients_mgr.h +++ b/src/bin/auth/datasrc_clients_mgr.h @@ -89,17 +89,19 @@ public: {} ~DataSrcClientsMgrBase() {} void shutdown() { + sendCommand(internal::SHUTDOWN, data::ConstElementPtr()); + builder_thread_.wait(); + } + +private: + void sendCommand(internal::CommandID command, data::ConstElementPtr arg) { { - using namespace internal; typename MutexType::Locker locker(queue_mutex_); - command_queue_.push_back(Command(SHUTDOWN, - data::ConstElementPtr())); + command_queue_.push_back(internal::Command(command, arg)); } cond_.signal(); - builder_thread_.wait(); } -private: std::list command_queue_; CondVarType cond_; MutexType queue_mutex_;