]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ClassHandler: only dlclose() the classes not missing 8354/head
authorKefu Chai <kchai@redhat.com>
Tue, 29 Mar 2016 13:57:48 +0000 (21:57 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 29 Mar 2016 14:11:47 +0000 (22:11 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/osd/ClassHandler.cc

index 87d5a75a30122b16b14e5edc2c251c1d16bf6a11..5b39f96a569d2fea0b12d00cc7c4714912cd70d4 100644 (file)
@@ -72,8 +72,10 @@ int ClassHandler::open_all_classes()
 
 void ClassHandler::shutdown()
 {
-  for (map<string, ClassData>::iterator p = classes.begin(); p != classes.end(); ++p) {
-    dlclose(p->second.handle);
+  for (auto& cls : classes) {
+    if (cls.second.handle) {
+      dlclose(cls.second.handle);
+    }
   }
   classes.clear();
 }