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

203 Commits

Author SHA1 Message Date
dimitr
19717fa63f Misc. 2008-06-09 09:10:55 +00:00
dimitr
1c885a3679 Worked around the compiler warnings. 2008-06-09 08:11:14 +00:00
dimitr
ec1d5a91b4 1) Encapsulated the lock manager and integrated it into the engine.
2) Replaced "early" (before LM) checkouts with "late" (inside LM) ones.
3) Removed the mutex protection that's no longer necessary.
Note: the new LM contains some future code (currently commented out) which will be enabled and tested after the Alpha release.
2008-06-07 09:08:16 +00:00
dimitr
92fb3f0b7a Misc. 2008-05-21 07:32:39 +00:00
dimitr
6180c37e8d Extra protection to avoid races at the server shutdown. 2008-03-26 15:01:02 +00:00
dimitr
3d47e0c21e Added thread ID to the owner block (mostly for debugging purposes). 2008-03-25 10:39:29 +00:00
dimitr
9e1d388535 Fixed unexpected crashed in purge_process(). 2008-03-21 07:36:11 +00:00
dimitr
83cebeea26 Fixed server crash during memory remapping. 2008-03-18 11:34:50 +00:00
dimitr
ff090e6a7b Cleanup. 2008-03-12 16:42:51 +00:00
asfernandes
6f91a0f18d Misc 2008-03-05 02:51:42 +00:00
dimitr
0a3826d5e6 Defer the process block cleanup till its death. This is dumber but more robust. It avoids races at LCK_fini() and fixes a rare deadlock there. 2008-03-04 19:07:55 +00:00
asfernandes
c979d91901 Misc 2008-02-19 02:34:55 +00:00
dimitr
dc4390981c Sync declaration with definition. 2008-02-14 07:33:50 +00:00
dimitr
b7a575e43f Cleanup. 2008-02-13 16:47:34 +00:00
dimitr
49d23b6d22 Major changes in the lock manager, targeted to allow mixed in-process/cross-process working modes. Namely, they are:
1) Separate process and owner blocks. Multiplex blocking signals via single blocking thread.
2) Enable direct in-process AST delivery.
3) Drop PREVENT_OWNER_STARVATION code as not compatible with the new LM structure.
4) Synchronize LM using its own mutex instead of SCH.
5) Implement wakeup'n'remap code for waiting owners.
6) Add more debugging points for memory remaps.
7) Cleanup and style.
Hopefully, this attempt is more POSIX-friendly than my previous one.
2008-02-11 17:30:23 +00:00
robocop
83dc6bde8f Constness 2008-02-02 17:07:37 +00:00
dimitr
44be88ad53 Cleanup. singnal_owner() is able to handle the direct call itself. 2008-01-31 13:39:30 +00:00
dimitr
01df1923ec Misc. 2008-01-30 10:34:28 +00:00
dimitr
132176a475 Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 12:52:51 +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
dimitr
956da93e27 Cleanup. 2008-01-17 13:40:35 +00:00
dimitr
83a070b17a Misc. 2008-01-17 13:10:28 +00:00
alexpeshkoff
bfdf145879 Fixing merge 2008-01-16 13:07:46 +00:00
dimitr
1dd06bb484 The merge continued. 2008-01-16 07:40:12 +00:00
hvlad
2c76551d48 Correct hash function of lock manager. I don't think that using last four bytes of key is a good hash :) 2007-09-25 20:28:20 +00:00
dimitr
dd853cc9e8 Fixed an occasional infinite loop in DEV_BUILD. 2007-08-28 08:38:22 +00:00
alexpeshkoff
d34e4014f7 Bacported fix for CORE-1418: Races when starting and quickly shutting down blocking AST thread 2007-08-20 13:28:01 +00:00
alexpeshkoff
1f77b68e2b 1. Fixed AV when fb_lock_mgr exits.
2. Made timeout in LOCK_manager() 10 times smaller - we are not in year 1993.
2007-08-10 08:59:04 +00:00
asfernandes
613faffafb Misc 2007-08-02 02:00:37 +00:00
robocop
affeac235f Cleanup. 2007-07-29 02:32:41 +00:00
asfernandes
6beb5e28bd Misc 2007-07-26 01:23:18 +00:00
alexpeshkoff
b3031d19c2 Added one more check in DEV_BUILD 2007-07-25 13:26:13 +00:00
skidder
04b9ec818b NBAK synchronization rework. This should fix CORE-1151 and other Nbackup stability issues 2007-04-24 14:05:46 +00:00
alexpeshkoff
38f48eda38 Fixed CORE-107 - instance of fb_lock_manager runs after build 2007-04-11 09:25:21 +00:00
asfernandes
d87a30bf0c Misc 2007-02-23 01:42:10 +00:00
alexpeshkoff
dfef55e991 Fix for CORE-968 - Assertion failure in posix/isc_ipc.cpp 2007-02-22 16:47:39 +00:00
dimitr
70730a1486 Resolved CORE-958. 2007-01-24 19:48:58 +00:00
dimitr
2bc42d7dba Cleanup. 2006-06-02 08:26:08 +00:00
robocop
351674ec0c Get rid of another uppercase typedef. The name "owner" caused collisions, so "own" was left. Probably lockOwner is better in the long term. 2006-04-29 00:34:06 +00:00
hvlad
73dcebc962 Replace "../jrd/jrd_time.h" with "../common/classes/timestamp.h" 2006-02-03 13:13:27 +00:00
alexpeshkoff
d1ee840d60 fixed gcc warning(s) 2006-01-16 16:49:15 +00:00
robocop
2814294027 Misc. 2004-12-16 03:03:13 +00:00
robocop
c5d49e867b Misc. 2004-12-08 06:06:51 +00:00
robocop
9be3f77ace 1.- Minimize buffer overrun.
2.- Stack variable should not be referenced once the owning function finishes. Make it static.
2004-12-08 06:03:05 +00:00
robocop
d6535351a2 Misc: style. 2004-11-24 09:22:07 +00:00
brodsom
d34c5b6f8a Silence uninitialized warnings 2004-08-26 18:14:14 +00:00
brodsom
c2d05fe48c -Rollback 2004-06-09 18:57:07 +00:00
brodsom
ab9bc18a81 -C++ struct declaration style.
-Const corrections
2004-06-08 18:24:49 +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
brodsom
372c3de67d -Replace & remove unneeded threading macro in jrd.h
-Move more threading selection to firebird.h
-Replace POSIX_THREADS with USE_POSIX_THREADS
2004-05-22 02:11:56 +00:00
robocop
441817bd82 1.- Misc changes
2.- Style
3.- Recover dsc_ttype in dsc after Blas' cleanup as a synonym for dsc_sub_type in text types
2004-05-21 06:16:17 +00:00
skidder
35b7115d3d Small 64-bitness fixes 2004-05-20 21:58:15 +00:00
kkuznetsov
6da1c2b10e removed double definition of SOLARIS_MAX_STALL 2004-05-18 09:44:40 +00:00
brodsom
b76a60e8b7 Move THREAD_ functions from thd.h to thread_proto.h (and fix unix build) 2004-05-17 22:30:09 +00:00
brodsom
78bdd28196 Macro cleaning 2004-05-17 15:14:10 +00:00
brodsom
36d6d40469 Macro cleaning 2004-05-17 10:22:34 +00:00
brodsom
ee34db7e20 Macro cleaning (THREAD_*) 2004-05-15 00:58:46 +00:00
brodsom
f17e886c46 bad if 2004-05-13 19:47:30 +00:00
brodsom
8699aec9c9 -Avoid shadow warning 2004-05-12 19:23:17 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
brodsom
80b424e346 -Replace define with const
-Move SYS_ERR, ERRNO, H_ERRNO and INET_ERRNO(ERRNO in inet.cpp) macros to common.h
-Remove unused macros
2004-05-05 21:55:13 +00:00
brodsom
2aee1003f8 Lost commit 2004-05-04 15:57:56 +00:00
brodsom
2add5b1f60 -Unify 3 srq implementations and move it to que.h
-Remove duplicated lock constants between jrd.h and lock.h (naming fix and srq move outside lock.h  was prerequisites for this change)
2004-05-03 17:36:27 +00:00
brodsom
0daa189563 Removing ib_stdio.h 2004-04-28 22:36:29 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
kkuznetsov
cf9e52cdad fix comile error here 2004-01-31 19:25:20 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
robocop
9fafc348bf const correctness
vars in scope
minimal interface cleanup
small bug fixes
2003-11-28 06:48:34 +00:00
bellardo
789ebfbd53 POSIX standard says you can only call an exec* function or exit after a vfork().
This precludes nested vfork()s, which caused the lock manager not to launch in
darwin.  This fix removes the nested vfork()s.
2003-11-25 16:55:20 +00:00
kkuznetsov
9adf479a0b some solaris fixes 2003-11-21 19:45:50 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
brodsom
c16f57055f Log should be first, if not there are a segfault some lines after it and log is not updated with the fatal error message. 2003-10-30 11:01:30 +00:00
skidder
1be4fe1d61 Forward port Solaris fixes 2003-10-27 18:42:47 +00:00
brodsom
9d5721473a Removing SHLIB_DEFS 2003-09-22 17:56:35 +00:00
aafemt
bb792bd478 'struct' cleanup 2003-09-18 10:24:03 +00:00
skidder
1dc706026b Enable lock manager buffer resizing for Win32 CS.
Further research demonstrated that it should work.
This fix needs to be backported to 1.5 if proves itself to work fine.
2003-09-11 21:30:09 +00:00
skidder
5761966226 Make Win32 version of engine compile 2003-09-08 21:44:44 +00:00
skidder
77b17de987 NBACKUP-related changes and some clean-up 2003-09-08 20:23:46 +00:00
brodsom
fbf6ffd6ff Code cleaning (Thanks to Claudio) 2003-09-07 00:53:59 +00:00
brodsom
a4416db52a -Replace BOOLEAN, TRUE and FALSE 2003-09-04 21:26:15 +00:00
brodsom
8624a7c209 -Use NULL instead 0 for null pointers
-Remove unneeded casts
2003-09-01 07:58:04 +00:00
brodsom
602c201989 -Remove NULL_PTR
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:07:29 +00:00
eku
73137f9d60 Since all supported platforms provide the function strerror(), get rid of
sys_errlist[]. It's not portable anyway.
2003-08-25 07:26:39 +00:00
brodsom
8dbb370c01 -Fix NULL usage warning 2003-08-19 11:44:11 +00:00
skidder
cb8fc363e3 Fix problems with Windows SS mutexes/events noted by Claudio 2003-08-18 16:53:42 +00:00
skidder
292ecb704b Fix original problem that caused Win32 CS lock-ups.
Rollback workarounds.
2003-08-11 20:56:07 +00:00
skidder
ce78ed1f1d 1) Make NBACKUP happy on Win32 CS too.
2) Fix tracking of OWN_hung in Win32 CS lock manager (lock-up debugging aid)
3) Fix possible unsynchronized access to memory manager in Win32 CS builds
and client library. Have shown itself as a very rare crash of Win32 CS manager
process during its startup.
4) Reduce warnings a little
Points 2 and 3 need to be backported to B1_5_Release
2003-08-10 15:43:23 +00:00
brodsom
018fd90c06 -Fix format warning 2003-08-09 22:36:26 +00:00
brodsom
c1f7813d93 -Fix format warning.
-Remove unneeded cast
-Add ifdef
2003-08-09 21:51:33 +00:00
skidder
222185f83b Apply changes to HEAD too 2003-07-30 15:14:14 +00:00
skidder
36a421796b Work around Windows bug with missing events.
This should finally solve the problem with lockups of Windows CS builds.
2003-07-18 21:34:42 +00:00
brodsom
46366a6d3e Patch for the MinGW build problem (CS only code) 2003-07-04 03:12:02 +00:00
brodsom
4c4da8e558 Changes only inside #ifdef DEBUG.
Needed to be able to build with -DDEBUG on gcc.(there are also some format corrections)
2003-06-30 11:02:52 +00:00
skidder
c109ecbfa7 Fix problem that I introduced on non-Windows CS platforms when was fixing Windows CS bug 2003-06-01 15:49:48 +00:00