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