hvlad
259fafa647
Implement CORE-1819 : More efficient solution for CORE-1300
2008-04-02 23:46:59 +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
robocop
2912e6a5be
Cleanup and misc.
2008-03-10 08:44:07 +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
alexpeshkoff
ad53e24dc5
cleanup
2008-03-03 14:31:48 +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
robocop
dc74571185
Use a native, two dimensional array.
2008-02-02 17:06:24 +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
95e6b3f5f9
More complete temporary rollback to the old logic. We don't need 64-bit owner IDs at this point.
2008-01-30 10:33:53 +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
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
paulbeach
7602a29b94
HPUX Port
2007-11-12 14:26:44 +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
hvlad
8d6787665c
Fix alignment issues
2007-09-07 07:41:07 +00:00
robocop
97dbdef560
Paranoid buffer overrun protection.
2007-09-02 09:52:42 +00:00
asfernandes
ff4145e88d
Misc
2007-08-30 02:40:29 +00:00
hvlad
871df7e5c5
Use memcpy instead of byte copying as Adriano suggested
2007-08-29 22:27:31 +00:00
hvlad
b741d97fd5
Make fb_lock_print print lock keys for database pages in page_space:page_number format
2007-08-29 08:33:48 +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
alexpeshkoff
8f1bad6558
Moved LCK_OWNER constants to lock, where they are actually used, from jrd
2007-08-10 08:29:32 +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
robocop
7274dc89c1
Totally misc.
2007-02-20 08:40:38 +00:00
hvlad
c0989bce8b
Fixed CORE-1031 : fb_lock_print.exe fails on windows 2003 R2 / XP SP 2
...
and CORE-1133 : XNET (IPC) communication protocol does not work across sessions
2007-02-19 13:05:27 +00:00
robocop
409ff041dd
Misc and replaced "IB" by "FB" where it made sense to me.
2007-02-11 09:04:54 +00:00
dimitr
ba3d3c2093
A kind of cleanup.
2007-01-25 13:26:32 +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
d0b711f2bc
Totally misc.
2006-04-30 06:41:38 +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
dimitr
e5869b3921
Misc.
2006-04-25 07:37:19 +00:00
robocop
2f88f5765a
Misc.
2006-04-08 03:29:17 +00:00
robocop
1f84bac700
Mark unused data members, discover more code associated to conditional compilation, clean some places, replace custom loops by memcpy and memset when possible, etc.
2006-02-23 05:08:26 +00:00
hvlad
73dcebc962
Replace "../jrd/jrd_time.h" with "../common/classes/timestamp.h"
2006-02-03 13:13:27 +00:00
robocop
97122ee389
Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary.
2006-02-03 08:39:36 +00:00
alexpeshkoff
d1ee840d60
fixed gcc warning(s)
2006-01-16 16:49:15 +00:00
alexpeshkoff
7c6f36026f
avoid overflows in UCHAR lhb_version
2005-12-18 16:08:49 +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
robocop
f80199d26d
Treat string literals and string constants with more respect.
2004-11-08 03:33:26 +00:00
robocop
5a33aeef91
Misc: extra semicolons do not help. :-)
2004-11-07 10:38:13 +00:00
dimitr
aa51245372
Forgotten commit.
2004-10-13 18:45:10 +00:00
skidder
5dcb60e4ff
Use MSVC6 variant of code everywhere to avoid excess conditionals
2004-10-03 20:14:35 +00:00
robocop
3085d78cd5
Little program made more correct.
2004-10-03 07:06:20 +00:00
robocop
d90eee597b
MSVC6 doesn't know how to convert UINT64 to double.
2004-10-03 04:44:49 +00:00
skidder
e8d37fc3c4
Small lock manager fixes.
...
Use 64-bit lock manager performance counters. 32-bit counters overflowed every few hours under load and this was considerably reduced their usefulness.
Use separate version for 64-bit lock manager tables. While you can have both 32-bit and 64-bit versions of engine running on the same machine lock manager structures have different layout and mismatch is not desireable.
2004-10-01 21:29:30 +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
b9b39b630e
-Rollback
2004-06-09 18:23:27 +00:00
brodsom
e2fadb2ce5
-Correction
2004-06-09 01:50:39 +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
60d9d085a0
Macro cleaning
2004-05-03 21:43: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
skidder
43cb0d1ce4
Y-Valve handle translation layer
2004-05-02 23:06:37 +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
alexpeshkoff
94d2f698e2
1. introduced Jrd and Ods namespaces
...
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
*** posix build fixes ***
2004-03-20 15:45:12 +00:00
alexpeshkoff
7007d6f2a4
1. introduced Jrd and Ods namespaces
...
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 14:57:40 +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