Skip to content

Commit f85ab73

Browse files
author
Artyom Abakumov
committed
Release trace plugin factory via IPluginManager
1 parent 624a23f commit f85ab73

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/jrd/trace/TraceManager.h

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,14 +194,20 @@ class TraceManager
194194
{
195195
char pluginName[MAXPATHLEN] = {};
196196

197-
Firebird::ITraceFactory* factory;
198197
Firebird::ITracePlugin* plugin;
198+
Firebird::ITraceFactory* factory;
199199
ULONG ses_id;
200200

201-
inline void release()
201+
inline void release(Firebird::PluginManagerInterfacePtr& pi)
202202
{
203-
factory->release();
204203
plugin->release();
204+
pi->releasePlugin(factory);
205+
}
206+
207+
inline void release()
208+
{
209+
Firebird::PluginManagerInterfacePtr pi;
210+
release(pi);
205211
}
206212

207213
// Used for SortedArray::find
@@ -217,9 +223,11 @@ class TraceManager
217223

218224
~Sessions()
219225
{
226+
Firebird::PluginManagerInterfacePtr pi;
227+
220228
for (unsigned int i = 0; i < getCount(); ++i)
221229
{
222-
getElement(i).release();
230+
getElement(i).release(pi);
223231
}
224232
}
225233
};

0 commit comments

Comments
 (0)