]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2205] small refactoring: extracting send-command part to a thread
authorJINMEI Tatuya <jinmei@isc.org>
Mon, 15 Oct 2012 23:10:12 +0000 (16:10 -0700)
committerJINMEI Tatuya <jinmei@isc.org>
Mon, 15 Oct 2012 23:10:12 +0000 (16:10 -0700)
we'll use this pattern for other commands.

src/bin/auth/datasrc_clients_mgr.h

index 794b515b3e96226a36a157291fc2aaaaebca339a..6b0384cfb96397edbc58960aa85ab19aa3033908 100644 (file)
@@ -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<internal::Command> command_queue_;
     CondVarType cond_;
     MutexType queue_mutex_;