From: Haomai Wang Date: Thu, 8 Jan 2015 14:12:11 +0000 (+0800) Subject: test_msgr: Add random usleep to Dispatcher impl X-Git-Tag: v0.93~247^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9a84a905fd01943c4a5b7110ae96a37c5ca097be;p=ceph.git test_msgr: Add random usleep to Dispatcher impl Signed-off-by: Haomai Wang --- diff --git a/src/test/msgr/test_msgr.cc b/src/test/msgr/test_msgr.cc index ef8c28cab250..0928f5c7dc8f 100644 --- a/src/test/msgr/test_msgr.cc +++ b/src/test/msgr/test_msgr.cc @@ -16,6 +16,7 @@ #include #include +#include #include #include "common/Mutex.h" #include "common/Cond.h" @@ -574,9 +575,11 @@ class MarkdownDispatcher : public Dispatcher { void ms_handle_fast_connect(Connection *con) { cerr << __func__ << con << std::endl; + Mutex::Locker l(lock); conns.insert(con); } void ms_handle_fast_accept(Connection *con) { + Mutex::Locker l(lock); conns.insert(con); } bool ms_dispatch(Message *m) { @@ -588,6 +591,7 @@ class MarkdownDispatcher : public Dispatcher { return true; last_mark = true; + usleep(rand() % 500); for (set::iterator it = conns.begin(); it != conns.end(); ++it) { if ((*it) != m->get_connection().get()) { (*it)->mark_down(); @@ -601,10 +605,13 @@ class MarkdownDispatcher : public Dispatcher { } bool ms_handle_reset(Connection *con) { cerr << __func__ << con << std::endl; + Mutex::Locker l(lock); conns.erase(con); + usleep(rand() % 500); return true; } void ms_handle_remote_reset(Connection *con) { + Mutex::Locker l(lock); conns.erase(con); cerr << __func__ << con << std::endl; }