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
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
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
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
hvlad
73dcebc962
Replace "../jrd/jrd_time.h" with "../common/classes/timestamp.h"
2006-02-03 13:13:27 +00:00
alexpeshkoff
d1ee840d60
fixed gcc warning(s)
2006-01-16 16:49:15 +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
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
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
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
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
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
kkuznetsov
cf9e52cdad
fix comile error here
2004-01-31 19:25:20 +00:00
skidder
08eee5ebaa
Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static.
2004-01-21 07:18:30 +00:00
robocop
fd93837ec3
Cleanup:
...
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +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
bellardo
789ebfbd53
POSIX standard says you can only call an exec* function or exit after a vfork().
...
This precludes nested vfork()s, which caused the lock manager not to launch in
darwin. This fix removes the nested vfork()s.
2003-11-25 16:55:20 +00:00
kkuznetsov
9adf479a0b
some solaris fixes
2003-11-21 19:45:50 +00:00
brodsom
c5253ae8a5
-Replace gds__ constants with isc_ contants
...
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
brodsom
ff070a16a8
Replacing assert with fb_assert
2003-11-03 23:59:24 +00:00
brodsom
c16f57055f
Log should be first, if not there are a segfault some lines after it and log is not updated with the fatal error message.
2003-10-30 11:01:30 +00:00
skidder
1be4fe1d61
Forward port Solaris fixes
2003-10-27 18:42:47 +00:00
brodsom
9d5721473a
Removing SHLIB_DEFS
2003-09-22 17:56:35 +00:00
aafemt
bb792bd478
'struct' cleanup
2003-09-18 10:24:03 +00:00
skidder
1dc706026b
Enable lock manager buffer resizing for Win32 CS.
...
Further research demonstrated that it should work.
This fix needs to be backported to 1.5 if proves itself to work fine.
2003-09-11 21:30:09 +00:00
skidder
5761966226
Make Win32 version of engine compile
2003-09-08 21:44:44 +00:00
skidder
77b17de987
NBACKUP-related changes and some clean-up
2003-09-08 20:23:46 +00:00
brodsom
fbf6ffd6ff
Code cleaning (Thanks to Claudio)
2003-09-07 00:53:59 +00:00
brodsom
a4416db52a
-Replace BOOLEAN, TRUE and FALSE
2003-09-04 21:26:15 +00:00
brodsom
8624a7c209
-Use NULL instead 0 for null pointers
...
-Remove unneeded casts
2003-09-01 07:58:04 +00:00
brodsom
602c201989
-Remove NULL_PTR
...
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:07:29 +00:00
eku
73137f9d60
Since all supported platforms provide the function strerror(), get rid of
...
sys_errlist[]. It's not portable anyway.
2003-08-25 07:26:39 +00:00
brodsom
8dbb370c01
-Fix NULL usage warning
2003-08-19 11:44:11 +00:00
skidder
cb8fc363e3
Fix problems with Windows SS mutexes/events noted by Claudio
2003-08-18 16:53:42 +00:00
skidder
292ecb704b
Fix original problem that caused Win32 CS lock-ups.
...
Rollback workarounds.
2003-08-11 20:56:07 +00:00
skidder
ce78ed1f1d
1) Make NBACKUP happy on Win32 CS too.
...
2) Fix tracking of OWN_hung in Win32 CS lock manager (lock-up debugging aid)
3) Fix possible unsynchronized access to memory manager in Win32 CS builds
and client library. Have shown itself as a very rare crash of Win32 CS manager
process during its startup.
4) Reduce warnings a little
Points 2 and 3 need to be backported to B1_5_Release
2003-08-10 15:43:23 +00:00
brodsom
018fd90c06
-Fix format warning
2003-08-09 22:36:26 +00:00
brodsom
c1f7813d93
-Fix format warning.
...
-Remove unneeded cast
-Add ifdef
2003-08-09 21:51:33 +00:00
skidder
222185f83b
Apply changes to HEAD too
2003-07-30 15:14:14 +00:00
skidder
36a421796b
Work around Windows bug with missing events.
...
This should finally solve the problem with lockups of Windows CS builds.
2003-07-18 21:34:42 +00:00
brodsom
46366a6d3e
Patch for the MinGW build problem (CS only code)
2003-07-04 03:12:02 +00:00
brodsom
4c4da8e558
Changes only inside #ifdef DEBUG.
...
Needed to be able to build with -DDEBUG on gcc.(there are also some format corrections)
2003-06-30 11:02:52 +00:00
skidder
c109ecbfa7
Fix problem that I introduced on non-Windows CS platforms when was fixing Windows CS bug
2003-06-01 15:49:48 +00:00
dimitr
41921e230f
Fixed win32 build.
2003-05-26 15:44:20 +00:00
skidder
1cc61a09b4
Allow easy adjustment of LockSemCount in Posix builds. Do not fail if value is adjusted in configuration file, but cannot be applied because of running engine processes
2003-05-25 18:59:19 +00:00
skidder
524fc1a641
Fix up lock manager. Clean AST invocation. Fix type of lrq_flags to match its value. Backout my logic for fast deadlock detection as it breaks engine in several places
2003-05-16 20:35:19 +00:00
skidder
2161f020ea
Fix invalid assertion failures in DEV_BUILD
2003-05-07 13:48:41 +00:00
skidder
40e4759b8c
Fix broken lock table resizing code in CS builds.
...
This bug affected all versions of Firebird (and probably Interbase too).
The only reason why CS builds worked was a fact that UNIX
usually maps grown memory mapping to the same address as
it were before.
2003-04-29 18:42:55 +00:00
aafemt
d2c7951b46
Fix for previous commit
2003-04-17 10:15:48 +00:00
aafemt
e5146fd644
Introduce of ISC_STATUS_ARRAY
2003-04-16 10:18:51 +00:00
aafemt
0fcbb66baa
STATUS -> ISC_STATUS
2003-04-10 10:08:31 +00:00
brodsom
11f81ad6d8
Lock warning fixes
2003-04-08 01:02:29 +00:00
brodsom
680c0326e4
- Comment unneeded checks
2003-04-02 11:03:31 +00:00
brodsom
44f0bdb080
Correct formats
2003-04-01 11:43:47 +00:00
skidder
c7c492ea5f
Fix up little issues with lock manager
2003-03-25 12:07:05 +00:00
skidder
ed65831b84
Lock manager changes.
...
1. Cleanup #define's a little
2. Shutdown blocking thread cleanly on Windows CS
3. Fix Windows CS lock-ups (make wakeup event manual-reset)
4. Detect deadlocks instantly in most cases (if blocking owner
dies during AST processing deadlock scan timeout still applies)
2003-03-24 14:32:34 +00:00
tamlin
ea1365dd59
Some code cleanup and added a comment about a problem.
2003-03-11 05:53:01 +00:00
eku
9ec2be38f4
Always use gds__prefix to find database system files.
2003-03-10 07:02:20 +00:00
brodsom
09ef42d3ac
Add condition to ifdef
2003-03-04 00:38:31 +00:00
brodsom
c7d6889883
Put vars and functions inside the same ifdef for which is used (NOT_USED_OR_REPLACED for unused)
2003-03-04 00:09:33 +00:00
fsg
e0dcb77416
Fixed some really old typos.
...
Included ExecuteStatement in the LINUX-Build
2003-03-02 17:47:22 +00:00
brodsom
c7e4ee4ab4
-Comment declared but undefined functions. (found with gcc never defined warnings)
2003-03-01 19:11:57 +00:00
brodsom
699d81f81b
Use the same ifdef for function declarations and definitions. (found with gcc never defined warnings)
2003-03-01 17:44:34 +00:00
eku
0ee7c15f19
Fixed "passing NULL used for non-pointer argument" and "return to non-pointer
...
type `SLONG' from NULL".
2003-02-18 06:39:26 +00:00
eku
fa288416fe
Fixed "argument to non-pointer type `long int' from NULL"
2003-02-14 14:23:43 +00:00
dimitr
8f66b72b0e
CONST -> const
2003-02-13 09:42:18 +00:00
brodsom
cf079201a2
Remove LINKS_EXISTS define, required header don't exist.
2003-02-10 15:06:02 +00:00
brodsom
d5e554333f
Remove NEXT remaining ifdefs
2003-02-07 15:23:18 +00:00
nmcc
5e489c0ff5
Improve error message to report the lock manager that was actually tried.
2002-12-09 01:28:01 +00:00
dimitr
48919f19aa
More usage of the new config stuff.
2002-12-07 13:27:12 +00:00
eku
34e9391a97
Use the new macro FB_NELEM to calculate the number of elements in an array.
2002-12-02 09:45:52 +00:00
eku
39e296192c
Removed inconsistencies pointed out by Claudio Valderr.
...
Replaced 'defined(__osf__) && defined(__alpha)' with 'SIZEOF_LONG == 8'.
New macro FB_NELEM calculates the number of elements in an array.
2002-12-02 08:25:23 +00:00
dimitr
5f61e44ddc
Global names change:
...
FBOK=>FB_SUCCESS
FAILURE=>FB_FAILURE
xxx_FBOK=>xxx_SUCCESS
2002-11-14 08:33:08 +00:00
kkuznetsov
6887f405ab
Renaming all occurences of SUCCESS to FBOK
2002-11-13 15:01:21 +00:00
kkuznetsov
d5dd3db662
Fix some compile errors
2002-11-10 14:29:00 +00:00
eku
507b9c86c8
Do not redefine MAXPATHLEN. Always use the value supplied by the operating
...
system (header files).
2002-11-06 07:08:49 +00:00
eku
9342d36baa
Arrays that hold filenames must be at least MAXPATHLEN long.
2002-11-04 11:19:21 +00:00
seanleyne
0b82f4aa07
Removed obsolete "Netware" port
2002-10-30 06:40:58 +00:00
seanleyne
05a126730b
Completed removal of obsolete "IMP" port
2002-10-28 03:52:09 +00:00
seanleyne
829d6d32d5
Completed removal of obsolete "DELTA" port
2002-10-28 03:47:47 +00:00
dimitr
a2de37255d
Rolled back my change, because it breaked unix builds.
2002-10-27 12:51:38 +00:00