summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Watkins <noahwatkins@gmail.com>2013-01-04 14:15:31 -0800
committerSage Weil <sage@inktank.com>2013-01-04 19:51:52 -0800
commit3a9408742a8a6cbc870cba543a208285f1a6cec1 (patch)
tree6faaebff6b2a5350e1bca1a0796db83b0ffb4544
parent0978dc4963fe441fb67afecb074bc7b01798d59d (diff)
downloadceph-3a9408742a8a6cbc870cba543a208285f1a6cec1.tar.gz
libcephfs: delete client after messenger shutdown
Prevents race between messages being dispatched to the client after the client has been free'd. Signed-off-by: Noah Watkins <noahwatkins@gmail.com> Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/libcephfs.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libcephfs.cc b/src/libcephfs.cc
index 0bb508ff912..6323918eadf 100644
--- a/src/libcephfs.cc
+++ b/src/libcephfs.cc
@@ -123,8 +123,6 @@ public:
}
if (client) {
client->shutdown();
- delete client;
- client = NULL;
}
if (messenger) {
messenger->shutdown();
@@ -136,6 +134,10 @@ public:
delete monclient;
monclient = NULL;
}
+ if (client) {
+ delete client;
+ client = NULL;
+ }
}
bool is_mounted()