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