Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15:Update
firebird
Backported-fix-for-CORE-5562-Firebird-crashes-w...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File Backported-fix-for-CORE-5562-Firebird-crashes-when-U.patch of Package firebird
From: AlexPeshkoff <peshkoff@mail.ru> Date: Thu, 8 Jun 2017 12:44:08 +0300 Subject: Backported fix for CORE-5562: Firebird crashes when UDF gets loaded and unloaded frequently Patch-mainline: R3_0_3? Git-commit: b80624c4129b0a8cc3e71671b7a2783915a7aa3f References: CORE-5562 --- src/jrd/flu.cpp | 13 +++++++++++-- src/jrd/flu.h | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/jrd/flu.cpp b/src/jrd/flu.cpp index 9c15e47090f2..60d5d7e735a4 100644 --- a/src/jrd/flu.cpp +++ b/src/jrd/flu.cpp @@ -268,11 +268,20 @@ namespace Jrd return Module(); } + Module::~Module() + { + if (interMod) + { + Firebird::MutexLockGuard lg(modulesMutex, FB_FUNCTION); + interMod = NULL; // This makes RefPtr call release() + } + } + Module::InternalModule::~InternalModule() { - delete handle; + fb_assert(modulesMutex->locked()); - Firebird::MutexLockGuard lg(modulesMutex, FB_FUNCTION); + delete handle; for (FB_SIZE_T m = 0; m < loadedModules().getCount(); m++) { diff --git a/src/jrd/flu.h b/src/jrd/flu.h index 3dd8fc0dbc5a..9faabd092680 100644 --- a/src/jrd/flu.h +++ b/src/jrd/flu.h @@ -102,6 +102,8 @@ namespace Jrd : interMod(m.interMod) { } + ~Module(); + // used for UDF/BLOB Filter static FPTR_INT lookup(const char*, const char*, Firebird::SortedObjectsArray<Module>&); -- 2.13.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor