summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-09-27 15:39:50 -0700
committerSage Weil <sage@inktank.com>2013-10-01 12:04:42 -0700
commita9df335b12a093c31f947d5ca98883de9c2a5cf9 (patch)
tree1d09c8d61c5e73a229530d269d5297fea828ca04
parentb43bc1a0b0692818d789f9f489b9aba5dd40522f (diff)
downloadceph-a9df335b12a093c31f947d5ca98883de9c2a5cf9.tar.gz
msgr: debug delay_thread join
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/msg/Pipe.cc13
-rw-r--r--src/msg/Pipe.h11
2 files changed, 14 insertions, 10 deletions
diff --git a/src/msg/Pipe.cc b/src/msg/Pipe.cc
index 50656fee53b..66b64d0097a 100644
--- a/src/msg/Pipe.cc
+++ b/src/msg/Pipe.cc
@@ -1136,6 +1136,19 @@ void Pipe::unregister_pipe()
}
}
+void Pipe::join()
+{
+ ldout(msgr->cct, 20) << "join" << dendl;
+ if (writer_thread.is_started())
+ writer_thread.join();
+ if (reader_thread.is_started())
+ reader_thread.join();
+ if (delay_thread) {
+ ldout(msgr->cct, 20) << "joining delay_thread" << dendl;
+ delay_thread->stop();
+ delay_thread->join();
+ }
+}
void Pipe::requeue_sent()
{
diff --git a/src/msg/Pipe.h b/src/msg/Pipe.h
index 5f94305350c..6c91395a352 100644
--- a/src/msg/Pipe.h
+++ b/src/msg/Pipe.h
@@ -234,16 +234,7 @@ class DispatchQueue;
void register_pipe();
void unregister_pipe();
- void join() {
- if (writer_thread.is_started())
- writer_thread.join();
- if (reader_thread.is_started())
- reader_thread.join();
- if (delay_thread) {
- delay_thread->stop();
- delay_thread->join();
- }
- }
+ void join();
void stop();
void _send(Message *m) {