diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-11-11 22:19:17 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-11-14 07:35:56 +0000 |
commit | f535855d7b8e424361d76c1e0adf3ecd770c0a0e (patch) | |
tree | b73969749197444cc024125d832502e74ec49793 /writerfilter | |
parent | 0ddc688ab48a3a34167168301a73f1c642d01e0d (diff) |
tagLogger dtor never called
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/resourcemodel/TagLogger.cxx | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/writerfilter/source/resourcemodel/TagLogger.cxx b/writerfilter/source/resourcemodel/TagLogger.cxx index 016dd2bb0aee..9cfaba1eda38 100644 --- a/writerfilter/source/resourcemodel/TagLogger.cxx +++ b/writerfilter/source/resourcemodel/TagLogger.cxx @@ -35,10 +35,7 @@ namespace writerfilter { - typedef boost::unordered_map<string, TagLogger::Pointer_t> TagLoggerHashMap_t; - static TagLoggerHashMap_t * tagLoggers = NULL; - - TagLogger::TagLogger(const char* name) + TagLogger::TagLogger(const char* name) : pWriter( NULL ), pName( name ) { } @@ -99,20 +96,20 @@ namespace writerfilter TagLogger::Pointer_t TagLogger::getInstance(const char * name) { - if (tagLoggers == NULL) - tagLoggers = new TagLoggerHashMap_t(); + typedef boost::unordered_map<string, TagLogger::Pointer_t> TagLoggerHashMap_t; + static TagLoggerHashMap_t tagLoggers; - TagLoggerHashMap_t::iterator aIt = tagLoggers->end(); + TagLoggerHashMap_t::iterator aIt = tagLoggers.end(); string sName = name; - if (! tagLoggers->empty()) - aIt = tagLoggers->find(sName); + if (! tagLoggers.empty()) + aIt = tagLoggers.find(sName); - if (aIt == tagLoggers->end()) + if (aIt == tagLoggers.end()) { TagLogger::Pointer_t pTagLogger(new TagLogger(name)); pair<string, TagLogger::Pointer_t> entry(sName, pTagLogger); - aIt = tagLoggers->insert(entry).first; + aIt = tagLoggers.insert(entry).first; } return aIt->second; |