Parcourir la source

[2205] small refactoring: extracting send-command part to a thread

we'll use this pattern for other commands.
JINMEI Tatuya il y a 12 ans
Parent
commit
f05b0be9d2
1 fichiers modifiés avec 7 ajouts et 5 suppressions
  1. 7 5
      src/bin/auth/datasrc_clients_mgr.h

+ 7 - 5
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<internal::Command> command_queue_;
     CondVarType cond_;
     MutexType queue_mutex_;