8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-30 09:23:09 +01:00
Commit Graph

270 Commits

Author SHA1 Message Date
dimitr
dd738c7f80 Reverted back to the single-pass algorithm used in v2.x. This should work around the issue with non-zero-timeout shutdown in SC. 2016-01-24 21:02:31 +00:00
dimitr
bf7951b259 Second round of my checkout/rescheduling changes. 2015-12-01 12:23:43 +00:00
dimitr
dc7aad88ed 1) Slightly refactored recheduling and checkout logic.
2) Re-enabled checkouts in PIO routines, this resolves CORE-4179. Windows build may be broken, please validate.
3) Implemented faster reaction on asynchronous cancellation/shutdown requests.
4) Avoided locking dbb_sync in AST. This change also solves races during massive attachment shutdown.
2015-11-29 15:12:31 +00:00
dimitr
4e4d8002e5 CORE-4965: Extend the transaction ID space beyond 2^32 transactions. Initially developed in the v2.5 custom branch, then reworked and now merged into v3.0. 2015-10-19 13:32:02 +00:00
alexpeshkoff
139331c7e3 Enhanced memory leaks search - changed FB_NEW to FB_NEW_POOL,
plain new to FB_NEW, making allocated with it blocks tagged with file/line.
Make related code slightly better readable.
2015-10-12 14:26:00 +00:00
alexpeshkoff
e420019cd4 Fixed CORE-4871: Merge SharedDatabase/SharedCache into single parameter ServerMode, affecting the way how server is started 2015-07-10 13:41:10 +00:00
alexpeshkoff
e7663b6bc0 Use status interface instead plain status vector when working with exceptions.
Avoid use of circullar allocation for strings in status vector (except when unavoidable for ISC API backward compatibility).
Use TLS for circullar allocation buffer instead manually working with threads' list.
2015-03-27 14:36:30 +00:00
asfernandes
9ece682387 Misc. 2015-02-14 18:55:00 +00:00
hvlad
a0cee158a0 Make shared memory header same size independent on OS.
Introduce shared memory header version.
2015-01-22 10:35:57 +00:00
alexpeshkoff
c14a1210b0 Work in progress on CORE-3632: make all file descriptors, opened by firebird, close on exec() 2014-12-17 14:31:02 +00:00
dimitr
aa2711626f Fixed CORE-4631: Lock manager "out of room" error hides the real cause of this problem. 2014-12-02 20:14:37 +00:00
dimitr
36af3d8cb2 Cleanup and small refactoring to avoid redundancy. 2014-08-15 14:19:02 +00:00
dimitr
b71d4417e7 Follow-up. 2014-07-29 05:51:56 +00:00
dimitr
cb90a3ac5e Trivial fix for CORE-4500: Firebird crashes after unsuccessful remapping of the lock table's shared memory. 2014-07-29 05:50:16 +00:00
alexpeshkoff
532181a7f9 Renamed as suggested by Nickolay and Dmitry 2014-07-28 13:01:10 +00:00
alexpeshkoff
4bdc2a3e19 Replaced macro FB_ALIGN with function fbAlign, minor related cleanup 2014-07-24 06:41:38 +00:00
skidder
e2e901939c Fix GCC warnings 2014-07-17 21:17:15 +00:00
robocop
66af445e2e Misc. 2014-03-22 20:51:24 +00:00
dimitr
601a50af29 Changed the code to be better understandable (PVS-Studio). 2014-02-22 18:34:08 +00:00
alexpeshkoff
d6297bebd4 Fixed some gcc warnings 2013-11-19 13:19:11 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
dimitr
bc1edae943 Added the initialization timestamp to shmem regions. Modified the lock print output to report this timestamp. This is useful to know as all the counters inside the lock table are incremental and a baseline is required to make any time-based estimations. 2012-12-06 08:13:45 +00:00
asfernandes
6a0a6f2d13 Misc. 2012-11-05 01:14:04 +00:00
alexpeshkoff
4ca6e669fe 1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00
hvlad
ea123ce328 Fixed AV in LM after remapping of shared memory 2012-07-14 21:26:14 +00:00
dimitr
42a4c93b97 1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related  refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +00:00
asfernandes
580172419b Misc. 2012-04-23 00:48:28 +00:00
robocop
b7d62c2d26 Misc. 2012-04-10 01:46:14 +00:00
dimitr
77c6027afd Misc. 2012-04-07 10:07:01 +00:00
dimitr
758bb0d936 Fixed CORE-3686: Incorrect (zero) values are reported for "acquire blocks" and "mutex wait" counters in the fb_lock_print output. 2012-04-07 09:41:59 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
dimitr
3851382b8a Attempted to fix a lock validation bug which ignored a situation where an incompatible request was changed from LRQ_pending to LRQ_rejected but temporarily remained in the queue.
A few other misc changes.
2012-02-13 15:39:51 +00:00
robocop
e2914070b9 Misc. 2012-01-19 04:54:39 +00:00
asfernandes
359f74e73a Misc. 2011-12-24 18:08:13 +00:00
dimitr
e719c87753 Make locks unconditionally granted in the fair order. The legacy behavior is unsafe in the highly loaded systems. 2011-12-23 17:50:44 +00:00
dimitr
498a61af43 Allowed multiple waiting requests per owner. This resolves various crashes and asserts in the SharedDatabase + SharedCache mode. Page-level deadlocks are still expected, the cache manager needs fixing.
Also, made the lock table synchronization a bit stricter. Some refactoring and cleanup was performed as well.
2011-12-23 17:07:33 +00:00
dimitr
18df9a3ab7 Raised the lock table version. Some cleanup. 2011-11-29 08:14:49 +00:00
asfernandes
906ea4729e Misc. 2011-10-27 01:04:14 +00:00
alexpeshkoff
9dab626467 Frontported fix for CORE-3589: Internal shared resource leak. Make trunk work with SystemV semaphores as shared mutexes/events. 2011-10-13 11:31:15 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
hvlad
b9f7479afa Correction. Thanks to Claudio. 2011-04-15 06:19:32 +00:00
hvlad
13cb0ba84f Moved assertion out of loop else it could wrongly fire at second execution 2011-04-14 12:12:20 +00:00
asfernandes
7800060e22 Misc 2011-02-04 23:58:10 +00:00
hvlad
12ada43e38 Front ported improvement CORE-3323 : Ability to cancel waiting in lock manager
LM part will be changed to not rely on engine internals.
2011-02-02 11:20:52 +00:00
asfernandes
edb9c11063 Correction 2011-02-02 00:57:59 +00:00
hvlad
460bf9731c Move VALIDATE_LOCK_TABLE from lock.h into lock.cpp : at allows to rebuild just lock.cpp if some need to disable validation of lock table in DEBUG build or enable validation in RELEASE build. 2011-02-01 15:19:01 +00:00
dimitr
2ed04ec8a9 Fixed CORE-3217: Server crashes inside the lock manager when multiple connections attaching/detaching simultaneously. 2010-11-08 10:21:04 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
asfernandes
5baf890a21 Misc 2010-06-26 01:18:53 +00:00