]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tools: release dedicated thread resource
authorshangdehao1 <dehao.shang@intel.com>
Thu, 24 Jan 2019 19:35:58 +0000 (03:35 +0800)
committerYuan Zhou <yuan.zhou@intel.com>
Thu, 21 Mar 2019 16:16:29 +0000 (00:16 +0800)
Addtional, enable all UT

Signed-off-by: Dehao Shang <dehao.shang@intel.com>
src/test/immutable_object_cache/CMakeLists.txt
src/tools/immutable_object_cache/CacheClient.cc

index 2f333167626d1a5bf094f990924541fd85b34605..bd088cdf0dfcb8e7861100147eadc9fff3f66d15 100644 (file)
@@ -3,7 +3,7 @@ add_executable(unittest_ceph_immutable_obj_cache
   test_main.cc
   test_SimplePolicy.cc
   test_DomainSocket.cc
-#  test_multi_session.cc # TODO
+  test_multi_session.cc
   test_object_store.cc
   test_message.cc
   )
index 0e17529ecf7382ca161d62617f2550cb668d8b05..37c42bd68e12d14eb86a77f25586ec7c6a5b78b6 100644 (file)
@@ -20,7 +20,6 @@ namespace immutable_obj_cache {
       m_lock("ceph::cache::cacheclient::m_lock"),
       m_header_buffer(new char[sizeof(ObjectCacheMsgHeader)])
   {
-    // TODO : release these resources.
     // TODO : configure it.
     m_use_dedicated_worker = true;
     m_worker_thread_num = 2;
@@ -54,6 +53,14 @@ namespace immutable_obj_cache {
     if(m_io_thread != nullptr) {
       m_io_thread->join();
     }
+    if(m_use_dedicated_worker) {
+      m_worker->stop();
+      for(auto thd : m_worker_threads) {
+        thd->join();
+        delete thd;
+      }
+      delete m_worker;
+    }
     return 0;
   }
 
@@ -285,7 +292,6 @@ namespace immutable_obj_cache {
 
     if(err_type == ASIO_ERROR_CONNECT) {
        ceph_assert(!m_session_work.load());
-       std::cout << "connect fails." << std::endl;
        if(ec == boost::asio::error::connection_refused) {
          ldout(cct, 20) << "Connecting RO daenmon fails : "<< ec.message()
                         << ". Immutable-object-cache daemon is down ? "