summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-07-26 23:17:10 -0700
committerSage Weil <sage@inktank.com>2013-08-18 11:44:57 -0700
commit89cd9dc403e97b4bd08920fbb5d6e2b8b9b7dac2 (patch)
tree398df16152158c654fe23c7dce2128947c5a010e
parent5b26ca7fa5beb87cbbe6bbb26d70789ff2aa7661 (diff)
downloadceph-89cd9dc403e97b4bd08920fbb5d6e2b8b9b7dac2.tar.gz
rgw: free resolver on shutdown
Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit a31356338b8ae55df59d829d9080ffad70b97d10)
-rw-r--r--src/rgw/rgw_main.cc1
-rw-r--r--src/rgw/rgw_resolve.cc5
-rw-r--r--src/rgw/rgw_resolve.h3
3 files changed, 8 insertions, 1 deletions
diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc
index 8d43ff4799a..5270f21be22 100644
--- a/src/rgw/rgw_main.cc
+++ b/src/rgw/rgw_main.cc
@@ -606,6 +606,7 @@ int main(int argc, const char **argv)
RGWStoreManager::close_storage(store);
rgw_tools_cleanup();
+ rgw_shutdown_resolver();
curl_global_cleanup();
dout(1) << "final shutdown" << dendl;
diff --git a/src/rgw/rgw_resolve.cc b/src/rgw/rgw_resolve.cc
index adbff3f4318..9a8b14b2e01 100644
--- a/src/rgw/rgw_resolve.cc
+++ b/src/rgw/rgw_resolve.cc
@@ -170,3 +170,8 @@ void rgw_init_resolver()
{
rgw_resolver = new RGWResolver();
}
+
+void rgw_shutdown_resolver()
+{
+ delete rgw_resolver;
+}
diff --git a/src/rgw/rgw_resolve.h b/src/rgw/rgw_resolve.h
index 164a31a0215..3b29ba580fe 100644
--- a/src/rgw/rgw_resolve.h
+++ b/src/rgw/rgw_resolve.h
@@ -8,14 +8,15 @@ class RGWDNSResolver;
class RGWResolver {
RGWDNSResolver *resolver;
- ~RGWResolver();
public:
+ ~RGWResolver();
RGWResolver();
int resolve_cname(const string& hostname, string& cname, bool *found);
};
extern void rgw_init_resolver(void);
+extern void rgw_shutdown_resolver(void);
extern RGWResolver *rgw_resolver;
#endif