From: Kefu Chai Date: Tue, 29 Mar 2016 13:57:48 +0000 (+0800) Subject: osd/ClassHandler: only dlclose() the classes not missing X-Git-Tag: v10.1.1~47^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=97b74bd4a8ef67002e726aac0fdca9590e529b4c;p=ceph.git osd/ClassHandler: only dlclose() the classes not missing Signed-off-by: Kefu Chai --- diff --git a/src/osd/ClassHandler.cc b/src/osd/ClassHandler.cc index 87d5a75a3012..5b39f96a569d 100644 --- a/src/osd/ClassHandler.cc +++ b/src/osd/ClassHandler.cc @@ -72,8 +72,10 @@ int ClassHandler::open_all_classes() void ClassHandler::shutdown() { - for (map::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(); }