mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
test: move WaitEvent class to test_common.h file
Signed-off-by: Dehao Shang <dehao.shang@intel.com>
This commit is contained in:
parent
c4a3a3dba4
commit
62d3866e73
@ -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;
|
||||
|
42
src/test/immutable_object_cache/test_common.h
Normal file
42
src/test/immutable_object_cache/test_common.h
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user