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
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
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
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
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
robocop
4edd547b17
Misc.
2010-06-30 08:55:16 +00:00
asfernandes
5baf890a21
Misc
2010-06-26 01:18:53 +00:00
alexpeshkoff
6cbefa1f46
Introduced class SharedMemory - base class for everything, using IPC. Related to CORE-3035.
2010-06-25 11:55:11 +00:00
alexpeshkoff
b6c0bbcd41
frontported fix for CORE-3021: Segfault in DEV_BUILD
2010-06-17 07:34:15 +00:00
robocop
b682a6c39c
Misc.
2010-04-21 10:41:22 +00:00
alexpeshkoff
88b8a40a04
1. Cleaned up most of SUPERSERVER usage.
...
SUPERSERVER has 4 different meanings in our code:
- this is milticlient server (replaced with Config::getMultiClientServer())
- use shared data cache (replaced with Config::getSharedCache())
- use shared metadata cache (replaced with macro SHARED_METADATA_CACHE)
- database are NOT shared between processes (replaced with getSharedDatabase())
2. Use fb_smp_server as both superclassic and classic binary on posix
(xinetd autodecection is done).
3. Small posix build cleanup.
2010-04-15 14:40:27 +00:00
alexpeshkoff
e5017f1a12
Extend format of firebird configuration file with a set of additional parameters for any parameter.
...
Use traditional firebird configuration files format in all places (intl, trace, etc.).
Add per-database configuration facility to aliases.conf (currently 15 parameters from firebird.conf).
2010-02-28 18:00:51 +00:00
asfernandes
e99a07bffd
Remove usage of tdbb (and tdbb->tdbb_status_vector) in the lock manager
2009-12-06 01:34:57 +00:00
alexpeshkoff
ecbf4312a1
Implemented CORE-2644: Make lock table expandable on HPUX
2009-09-28 16:03:44 +00:00
dimitr
b3843ebca4
Cleanup. New nbackup internals don't need this code anymore.
2009-08-19 08:07:18 +00:00
robocop
0bf3d11247
Misc.
2009-04-10 14:28:35 +00:00
alexpeshkoff
ab90217604
Better fix for lock files in CORE-2402
2009-04-08 11:30:15 +00:00
alexpeshkoff
1e7898ea22
Fix for CORE-2402: bad permissions on temp files, /tmp is polluted with a lot of files
2009-04-08 11:00:58 +00:00
robocop
5acf561eb6
Get rid of some typedefs.
2009-04-02 08:53:25 +00:00
dimitr
4c9413f8a9
Minor optimizations.
2009-02-11 08:26:55 +00:00
dimitr
1b3927b026
1) Globally named per-database shmem regions.
...
2) Slightly reworked monitoring internals.
3) Encapsulated the event manager, many internal changes there.
4) Various cleanup, etc.
2009-01-28 12:27:18 +00:00
hvlad
e998ff070f
Fixed accidentally brocken POSIX build
2008-10-21 10:37:39 +00:00
alexpeshkoff
e79f55708d
1. Cleanup - use Firebird::Semaphore instead of local events, removed code
...
related with local events from isc_sync.cpp.
2. Cleanup - removed unused parameter 'number of events' from ISC_event_wait()
and two unused parameters from ISC_event_init().
3. Added SYSV-semaphore based implementation of IPC to isc_sync.cpp.
This should fix CORE-2102: Firebird 2.5 does not build on MacOS (Darwin).
4. Fixed use of posic CS without (x)inetd (i.e. fb_inet_server -s).
5. Fixed (to be reviewed by Dmitry) recovery after some process death in lock manager.
2008-10-10 15:58:05 +00:00
robocop
7d58d35e15
Misc.
2008-06-10 12:10:03 +00:00
robocop
017d04dbfc
Misc.
2008-06-10 10:11:39 +00:00
alexpeshkoff
5b465f4159
fixed gcc build
2008-06-09 07:58:15 +00:00
asfernandes
26a79e3c6e
Misc
2008-06-09 01:34:33 +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
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
956da93e27
Cleanup.
2008-01-17 13:40:35 +00:00
dimitr
48e81dd58a
The merge is being fixed.
2008-01-16 12:22:11 +00:00
dimitr
1dd06bb484
The merge continued.
2008-01-16 07:40:12 +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
alexpeshkoff
8f1bad6558
Moved LCK_OWNER constants to lock, where they are actually used, from jrd
2007-08-10 08:29:32 +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
dfef55e991
Fix for CORE-968 - Assertion failure in posix/isc_ipc.cpp
2007-02-22 16:47:39 +00:00
skidder
35b7115d3d
Small 64-bitness fixes
2004-05-20 21:58:15 +00:00
robocop
1824343930
Cleanup.
...
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +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
skidder
77b17de987
NBACKUP-related changes and some clean-up
2003-09-08 20:23:46 +00:00