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

171 Commits

Author SHA1 Message Date
hvlad
111a770839 Release lock manager's mutex in its destructor 2008-11-27 20:20:38 +00:00
alexpeshkoff
d8ea120ded AIX port - use FB_ prefix for alignment constants 2008-11-05 11:26:23 +00:00
dimitr
73b50d0fe0 Misc. 2008-10-24 04:49:15 +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
alexpeshkoff
796a2e4b23 Fixed CORE-2064: AV when process is closing under high load 2008-09-04 09:58:20 +00:00
alexpeshkoff
97f89cb5b1 Fixed CORE-2062: error remaping lock file in classic server 2008-09-03 12:00:59 +00:00
asfernandes
077f8360a0 Misc 2008-07-31 00:45:43 +00:00
hvlad
c1b161fc2d Fixed bug CORE-2000 : Lock manager reported false deadlocks under high load 2008-07-28 21:21:21 +00:00
roman-simakov
cf37531005 Add missed que changing in LockManager::setOwnerHandle 2008-07-23 16:14:54 +00:00
robocop
a302401357 Misc. 2008-07-09 12:34:43 +00:00
hvlad
6ce4216ba3 Fixed bug CORE-1984 : Lock manager reported false deadlocks if one of deadlock participants waits with permitted timeout 2008-07-09 07:57:50 +00:00
hvlad
40f3722373 Fixed bug CORE-1985 : Lock manager code may create 100% CPU load for some time 2008-07-09 07:52:50 +00:00
robocop
8a77b30645 Cleanup: get rid of useless third param in ISC_unmap_file 2008-06-26 11:23:40 +00:00
dimitr
f1907db32d Fixed a deadlock which could occur during the shared memory region remapping. This bug has been introduced by myself along with the LM rework. 2008-06-12 07:34:50 +00:00
asfernandes
7bb0ae3616 Misc 2008-06-11 01:41:42 +00:00
robocop
7d58d35e15 Misc. 2008-06-10 12:10:03 +00:00
robocop
017d04dbfc Misc. 2008-06-10 10:11:39 +00:00
dimitr
cb2e3f0f61 Misc. 2008-06-10 04:18:50 +00:00
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