diff --git a/src/test/immutable_object_cache/test_DomainSocket.cc b/src/test/immutable_object_cache/test_DomainSocket.cc index d167d96dcae..bbac47044fc 100644 --- a/src/test/immutable_object_cache/test_DomainSocket.cc +++ b/src/test/immutable_object_cache/test_DomainSocket.cc @@ -6,50 +6,15 @@ #include "gtest/gtest.h" #include "include/Context.h" -#include "common/Mutex.h" -#include "common/Cond.h" #include "global/global_init.h" #include "global/global_context.h" +#include "test/immutable_object_cache/test_common.h" #include "tools/immutable_object_cache/CacheClient.h" #include "tools/immutable_object_cache/CacheServer.h" using namespace ceph::immutable_obj_cache; -// sequentialize async_operation -class WaitEvent { -public: - WaitEvent() : m_signaled(false) { - pthread_mutex_init(&m_lock, NULL); - pthread_cond_init(&m_cond, NULL); - } - - ~WaitEvent() { - pthread_mutex_destroy(&m_lock); - pthread_cond_destroy(&m_cond); - } - - void wait() { - pthread_mutex_lock(&m_lock); - while (!m_signaled) { - pthread_cond_wait(&m_cond, &m_lock); - } - m_signaled = false; - pthread_mutex_unlock(&m_lock); - } - - void signal() { - pthread_mutex_lock(&m_lock); - m_signaled = true; - pthread_cond_signal(&m_cond); - pthread_mutex_unlock(&m_lock); - } -private: - pthread_mutex_t m_lock; - pthread_cond_t m_cond; - bool m_signaled; -}; - class TestCommunication :public ::testing::Test { public: CacheServer* m_cache_server; diff --git a/src/test/immutable_object_cache/test_common.h b/src/test/immutable_object_cache/test_common.h new file mode 100644 index 00000000000..9fe944ffd62 --- /dev/null +++ b/src/test/immutable_object_cache/test_common.h @@ -0,0 +1,42 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab +#ifndef CACHE_TEST_COMMON_H +#define CACHE_TEST_COMMON_H + +#include "common/Mutex.h" +#include "common/Cond.h" + +class WaitEvent { +public: + WaitEvent() : m_signaled(false) { + pthread_mutex_init(&m_lock, NULL); + pthread_cond_init(&m_cond, NULL); + } + + ~WaitEvent() { + pthread_mutex_destroy(&m_lock); + pthread_cond_destroy(&m_cond); + } + + void wait() { + pthread_mutex_lock(&m_lock); + while (!m_signaled) { + pthread_cond_wait(&m_cond, &m_lock); + } + m_signaled = false; + pthread_mutex_unlock(&m_lock); + } + + void signal() { + pthread_mutex_lock(&m_lock); + m_signaled = true; + pthread_cond_signal(&m_cond); + pthread_mutex_unlock(&m_lock); + } +private: + pthread_mutex_t m_lock; + pthread_cond_t m_cond; + bool m_signaled; +}; + +#endif