"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/common/classes/init.h" between
Firebird-3.0.2.32703-0.tar.bz2 and Firebird-3.0.4.33054-0.tar.bz2

About: Firebird is a relational database offering many ANSI SQL standard features.

init.h  (Firebird-3.0.2.32703-0.tar.bz2):init.h  (Firebird-3.0.4.33054-0.tar.bz2)
skipping to change at line 74 skipping to change at line 74
// but who cares for 100 global variables? // but who cares for 100 global variables?
// //
class InstanceList class InstanceList
{ {
public: public:
explicit InstanceList(DtorPriority p); explicit InstanceList(DtorPriority p);
virtual ~InstanceList(); virtual ~InstanceList();
static void destructors(); static void destructors();
// remove self from common list under StaticMutex protection
void remove();
private: private:
virtual void dtor() = 0;
void unlist();
InstanceList* next; InstanceList* next;
InstanceList* prev;
DtorPriority priority; DtorPriority priority;
virtual void dtor() = 0;
}; };
template <typename T, InstanceControl::DtorPriority P = InstanceControl:: PRIORITY_REGULAR> template <typename T, InstanceControl::DtorPriority P = InstanceControl:: PRIORITY_REGULAR>
class InstanceLink : private InstanceList, public GlobalStorage class InstanceLink : private InstanceList, public GlobalStorage
{ {
private: private:
T* link; T* link;
public: public:
explicit InstanceLink(T* l) explicit InstanceLink(T* l)
: InstanceControl::InstanceList(P), link(l) : InstanceControl::InstanceList(P), link(l)
{ {
fb_assert(link); fb_assert(link);
} }
void remove()
{
InstanceList::remove();
}
void dtor() void dtor()
{ {
fb_assert(link); fb_assert(link);
if (link) if (link)
{ {
link->dtor(); link->dtor();
link = NULL; link = NULL;
} }
} }
}; };
 End of changes. 5 change blocks. 
1 lines changed or deleted 12 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)