8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-31 06:43:02 +01:00
Commit Graph

18 Commits

Author SHA1 Message Date
robocop
c96ffd070f Misc. 2009-03-05 06:05:50 +00:00
asfernandes
9d086d289c Misc 2009-03-05 00:52:25 +00:00
alexpeshkoff
2a8603af7d Formally this fixes gcc warning - no virtual dtor in class with virtual functions.
But this required serious reworking of InstanceControl and GlobalPtr<> classes.
GlobalPtr<> should not be directly derived from class with virtual functions -
virtual table for it's instances may become invalid in the moment,
when cleanup is needed. Therefore indirect link via InstanceList and
InstanceLink is established instead. This required also a little changes in
a way how InstanceControl is used. GlobalPtr<> usage is not changed.
2009-03-04 10:26:16 +00:00
alexpeshkoff
322322b103 Fixed order of TLS keys destruction in POSIX build. 2009-01-19 16:16:19 +00:00
asfernandes
ff5f8745fb Remove trailing spaces (.h files) 2008-12-05 00:56:15 +00:00
alexpeshkoff
ed25245303 Applied shutdown changes, discussed in fb-devel a week ago. 2008-03-17 16:49:47 +00:00
alexpeshkoff
2b91ffd1ce 1. Avoid suspicious operator!().
2. Make GlobalPtr<> usable in static local variables.
2008-02-28 13:59:03 +00:00
alexpeshkoff
ee6c433597 Mutexes cleanup:
1. Make all firebird mutexes recursive.
2. Enable exceptions to be thrown by mutexes and process them in code where needed.
3. Catch and ignore exceptions in various MutexGuard dtors.
2008-02-05 08:21:18 +00:00
alexpeshkoff
f9a14e19bf Use LockGuard instead of try/catch 2008-02-04 11:59:42 +00:00
alexpeshkoff
9f4c2e9a61 having this methods const dangerous - thanks to Claudio 2008-01-31 10:53:18 +00:00
asfernandes
aea2bcb354 Misc 2008-01-23 19:03:16 +00:00
alexpeshkoff
39896cb955 Fixed CORE-1671: atexit() calls in client libraries cause segfaults
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory

To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.

Also some related cleanup.
2008-01-23 15:52:40 +00:00
robocop
e77a46b011 Misc. 2006-05-20 03:55:54 +00:00
asfernandes
a3b411a4c1 Misc 2006-05-20 00:59:22 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
alexpeshkoff
1591a54e5e Thread cleanup:
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
skidder
e9f8ef102e Fixes needed to make GCC 3.4 happy 2004-05-03 04:25:06 +00:00
alexpeshkoff
18b7cb3710 Templates, supporting objects initialization 2004-03-14 13:10:40 +00:00