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

276 Commits

Author SHA1 Message Date
robocop
9f52942ab0 Style. 2008-12-02 07:09:49 +00:00
hvlad
ca8b78bcff Make WNET use overlapped (non-blocking) IO. It allows to break blocked IO operations and implement force_close() call correctly.
Also don't write in firebird.log "FileRead end-of-file" error on clean disconnect and don't write more than one OS error on the same port.
2008-11-30 11:47:30 +00:00
asfernandes
db82e7cd6b Misc 2008-11-06 00:23:21 +00:00
hvlad
7918aaa256 Fixed AV in CS worker process (there was double deallocation of port).
Avoid wrong error message in firebird.log when listener is shutted down.
2008-11-04 14:22:51 +00:00
dimitr
4c05d2d8dd Fixed CORE-2137: Database restore may crash the server when DummyPacketInterval is set. 2008-10-22 15:43:16 +00:00
alexpeshkoff
065c4b0430 Disconnect all ports after shutdown of working threads 2008-10-13 16:04:15 +00:00
alexpeshkoff
38a8b41c7f Avoid annoying messages in firebird.log 2008-10-10 15:50:07 +00:00
asfernandes
ac600b29d7 Misc 2008-10-09 00:59:56 +00:00
hvlad
857129d3f7 Initialize local variable 2008-10-04 17:46:31 +00:00
alexpeshkoff
2f803217f8 1. Never shutdown worker threads from fb_shutdown()'s callback -
instead do it at the end of main server loop.

2. Fixed races when worker thread(s) remained running after exit from main().

3. Added better protection by mutex to counter of worker threads.
Avoid possible races when worker thread starts.
2008-10-03 16:22:54 +00:00
dimitr
8f05c35f88 Misc. 2008-07-29 10:36:36 +00:00
alexpeshkoff
a2e416210b Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
dimitr
bff84e9e7a Cleanup. 2008-06-06 15:55:36 +00:00
alexpeshkoff
ff7cfc717e Implemented Adriano's suggestion concerning fb_shutdown_callback() - added new parameter 2008-05-22 08:59:45 +00:00
alexpeshkoff
86cd8cb6b3 1. Added parameter 'shutdown reason' to fb_shutdown() API call. It's passed to shutdown
callback function, and helps to take correct action in it. This fixes CORE-1827: Win32
Embedded Server should pass control to application before calling exit(3).
2. Removed unneeded any more flag in isql and qli, used earlier to distinguish between
kinds of shutdown.
2008-05-16 11:31:57 +00:00
asfernandes
61ca51e7af Misc 2008-05-15 01:27:23 +00:00
robocop
a2cd97355b Misc. 2008-05-14 09:24:14 +00:00
asfernandes
ee7a3f5930 Misc 2008-05-13 01:29:38 +00:00
alexpeshkoff
c0bf97f735 Make it possible to have normal operations after async ones in single network packet 2008-05-12 13:34:52 +00:00
hvlad
9280a572a0 Avoid long blocking of att_mutex and make sure it is always released when attachment deleted.
Move active requests cancellation at engine shutdown from Y-valve into engine and let them stop execution before deletion of attachments.
Make sweep run in separate thread despite of engine architecture.
2008-05-04 12:49:29 +00:00
alexpeshkoff
0ba2ab7ea7 Make fb_cancel_operation() public API call. Related cleanup. 2008-04-29 09:55:41 +00:00
hvlad
3c353209d2 Implement CORE-818 : Server needs to detect disconnects.
For INET only.
2008-04-23 09:38:15 +00:00
dimitr
c74650aa5f Fixed CORE-1357. 2008-04-20 14:02:51 +00:00
robocop
3a5712db9e Style. 2008-04-19 11:33:37 +00:00
asfernandes
d75951e8e5 Misc 2008-04-18 01:37:44 +00:00
alexpeshkoff
6c6fdd44fa Fixed memory leak in rem_port::asyncReceive() and optimized it's performance.
Get it ready for non-IP protocols.
2008-04-17 17:05:40 +00:00
hvlad
b59d7731ec Ensure port can't be deleted ... addition 2008-04-16 14:19:58 +00:00
hvlad
cd4d7ec93d Ensure port can't be deleted by another thread while receiving data (usual socket disconnect event) during disconnect. Just hold one more reference to it. 2008-04-16 12:48:28 +00:00
robocop
5294fda616 Misc. 2008-04-15 09:31:35 +00:00
alexpeshkoff
b0cc1c0481 Implemented remote cancel operation call. Switched to PROTOCOL_VERSION12. 2008-04-14 09:45:16 +00:00
robocop
1c52bbf025 It seems that finally the interfaces are synchronized.
The compiler produces a lot of errors when linking why.cpp against inter_proto.h (that has the real function signatures) instead of entry.h, but it's the only way to verify that the parameters are coherent.
2008-04-04 13:43:44 +00:00
robocop
b2e8da134f Trying to fix the interface again.
Sorry for going back and forth with constness, but in some cases it was impossible to ensure that input params aren't overwritten, thus I took const away to avoid making promises that can't be met (see the case of fetch that uses a supposedly input-only param to return data). Overwriting memory that was declared const initially is a serious error in C++ with undefined outcome so we better do not lie.
2008-04-03 10:17:24 +00:00
asfernandes
b5f62a63b0 Misc 2008-03-30 20:43:36 +00:00
robocop
27b24cccf3 The boss prefers clean() instead of the sui generis unset(). 2008-03-30 09:49:22 +00:00
robocop
5b7cb4214b Fixing the damn interface.
Cleanup.
2008-03-30 09:37:57 +00:00
robocop
88349111c8 Probably I could put RFlags with a better name elsewhere for general usage, but for now I'll test the waters with Rsr. 2008-03-30 03:02:12 +00:00
robocop
9030e2a9d5 Misc. 2008-03-28 14:17:21 +00:00
robocop
443feabad9 Since Vlad and Alex did the hard work, I took the comment from Mike (approx 6 years ago) and did the small change function->method. 2008-03-28 13:36:19 +00:00
alexpeshkoff
4e5a83e767 1. Make remote port RefCounted object.
2. Removed deferred cleanup hack.
3. Fixed races when events are delivered - thanks to Vlad.
2008-03-27 10:15:05 +00:00
asfernandes
1e59afbc6e Misc 2008-03-27 02:27:56 +00:00
hvlad
9318660f3a Finish cleanup in remote started by Alex (remove ALLR etc) 2008-03-25 18:58:31 +00:00
alexpeshkoff
6809f624fc Remote cleanup:
1. Avoid ALLR memory allocation routine (use new / delete).
2. Use common (TypedHandle) class to control consistency of handles.
3. Make ctors and dtors work - in most cases more work is needed to make them meaningful.
2008-03-24 15:28:38 +00:00
hvlad
262379d8f9 Fix invalid variable for received data size 2008-03-19 18:52:31 +00:00
robocop
82f50ff590 Allocate only the needed buffer. 2008-03-18 12:58:21 +00:00
hvlad
5c2300fc65 Fixed few my mistakes noted by Claudio 2008-03-15 13:46:28 +00:00
robocop
b741dd8a0d Simplification. 2008-03-15 10:28:25 +00:00
asfernandes
4762e049ee Misc 2008-03-14 02:50:40 +00:00
hvlad
2423a4bc3e Use EnsureUnlock where appropriate. Remove not used thread accounting in CNTL. Fix few mistakes\typos in my previous commit. 2008-03-13 13:48:05 +00:00
alexpeshkoff
627e7f2846 Fixed unexpected server exits. Slightly better diagnostics for them added. 2008-03-13 12:05:49 +00:00
robocop
d5ff786e3d Misc. 2008-03-13 10:41:38 +00:00
dimitr
ff090e6a7b Cleanup. 2008-03-12 16:42:51 +00:00
hvlad
4115317607 Make remote module thread-safe, remove THREAD_EXIT\THREAD_ENTER from it, refactor server code and some cleanup. To be continued. Please check posix builds. 2008-03-11 14:11:32 +00:00
robocop
2912e6a5be Cleanup and misc. 2008-03-10 08:44:07 +00:00
alexpeshkoff
7dacbbbd74 Make fb_disconnect_transaction, fb_shutdown and fb_shutdown_callback public API calls.
Related cleanup.
2008-03-03 17:47:09 +00:00
alexpeshkoff
58f8675e57 1. Make use of gds__log_status() more consustent (no Database: line in log when database is not specified).
2. A bit better logic when error happens during provider shutdown.
2008-03-03 13:59:09 +00:00
alexpeshkoff
00c63c1f8d 1. Make signals handling in yValve MT safe.
2. Introduce new private API calls, fb__shutdown() and fb__shutdown_callback().
3. Introduce fb_smp_server - binary to run superclassic on posix.
4. Various cleanups.
2008-02-28 18:42:30 +00:00
dimitr
c1f75dcdf8 Ported SQLSTATE from Vulcan.
Part II: handling of isc_arg_sql_state.
2008-02-24 15:02:04 +00:00
dimitr
e41bdb2aa5 Shutdown the port instead of exiting the process. This has the same effect on CS but works for other modes as well. 2008-02-12 14:06:27 +00:00
dimitr
04e90d8033 Misc. 2008-02-02 14:40:50 +00:00
alexpeshkoff
e867656bf4 cleanup + additional security DB protection 2008-01-29 15:01:04 +00:00
dimitr
a3782c9362 Oops. Incomplete stuff has been accidentally committed. Rolled back now. 2008-01-28 14:09:05 +00:00
dimitr
b353ff4afb Misc sync changes. 2008-01-28 13:44:11 +00:00
dimitr
b68df58eac Misc. 2008-01-26 23:23:15 +00:00
alexpeshkoff
936eb2b3a8 Initialize context pool on server startup 2008-01-24 11:08:00 +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
46b3b6c0dd Preparation for merging my own changes. 2008-01-17 13:07:03 +00:00
dimitr
f25819fb19 The merge continued. 2008-01-16 07:55:28 +00:00
asfernandes
e0226e17fb Misc 2008-01-09 23:57:18 +00:00
dimitr
3201c3de4c Fixed CORE-1681. 2008-01-09 10:20:57 +00:00
dimitr
804be84213 Fixed possible crashes due to an already disconnected port. 2007-12-15 10:30:03 +00:00
alexpeshkoff
5bf6bd05d9 Fixed CORE-1543: Security bug in trusted authentication 2007-10-26 13:17:33 +00:00
dimitr
697d77edec Fixed CORE-1459. 2007-09-14 06:55:15 +00:00
dimitr
204b2881e7 Fixed CORE-1460.
Make INET to use the same buffer as other transports instead of the hackery usage of p_resp_blob_id.
2007-09-14 06:00:17 +00:00
dimitr
07ebaa0ce9 Fixed CORE-1403. 2007-08-03 08:41:45 +00:00
alexpeshkoff
31beadfb64 fixed BOF during op_connect processing, avoid use of sprintf() in remote 2007-06-21 08:40:04 +00:00
hvlad
f31a3116ec Fixed bug with wrongly initialized remote statement when lazy_port feature active.
It visible with TCS's test DSQL_DOMAIN_20
2007-06-01 12:46:30 +00:00
hvlad
88671bf258 Correct error handling for deferred executed statements 2007-05-17 13:03:57 +00:00
alexpeshkoff
d63491e3c5 Finished gcc-warnings cleanup 2007-04-11 16:05:40 +00:00
hvlad
c13e67fe49 Restored broken compatibility between clients and servers of different versions (2.1 and other) 2007-04-04 10:31:47 +00:00
robocop
b776f1f19c Minor corrections. 2007-04-03 08:18:11 +00:00
hvlad
2c10b3ff92 Implement one more LazyPort feature : defer op_execute packet when it possible 2007-04-01 21:42:40 +00:00
alexpeshkoff
dec4ded1f5 fixed unregistered bug, reported by Dmitry privately - partial and full XDR packets may be mixed now in network packets in any way 2007-03-30 12:56:57 +00:00
robocop
409ff041dd Misc and replaced "IB" by "FB" where it made sense to me. 2007-02-11 09:04:54 +00:00
hvlad
bc521d75a3 Fixed CORE-1119 : Bad code in status vector when running ISC_ER30 from fbtcs 2007-02-01 22:05:18 +00:00
alexpeshkoff
d66281291f 1. Make classic server close shutdown normally when killed by signals 2 & 15.
2. Don't leave running instances of fb_inet_server after database shutdown.
3. To make all this possible - reworked Y-Valve in general.
2007-01-20 14:45:45 +00:00
robocop
91544a92e0 Totally misc. 2006-12-29 08:48:28 +00:00
hvlad
a1e9297bbd Fixed CORE-1067: AV in the engine using some API calls when 'lazy port' feature active 2006-12-25 10:28:41 +00:00
alexpeshkoff
2f48fc38f7 1. Closed security whole with malformed DPB/SPB
2. Avoid memory leak when exception is thrown.
3. Better diiagnostics.
Thanks to Claudio.
2006-12-17 15:53:46 +00:00
robocop
4afa6a29cb Misc. 2006-12-17 09:09:39 +00:00
alexpeshkoff
6bb3545558 fixed posix build after my latest changes 2006-12-10 13:45:02 +00:00
asfernandes
854d870d8f Misc 2006-12-10 00:16:00 +00:00
alexpeshkoff
1a4652f01a Trusted authentication for windows 2006-12-08 18:38:15 +00:00
dimitr
bdc09b234a The remote subsystem should not guess about the internal structure of BLOB ID. 2006-12-04 21:42:27 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
robocop
07f4bed382 I don't want another "interprete", so I rename "defered" to "deferred". 2006-05-02 00:04:12 +00:00
hvlad
f94b8bd641 Merge B1_5_Remote_LazyPort branch into HEAD 2006-05-01 22:23:31 +00:00
robocop
a2d0a4d348 Style. 2006-04-18 04:50:02 +00:00
alexpeshkoff
105bff246e removed unneeded h-file 2006-04-17 10:40:28 +00:00
asfernandes
48abddae4c Use THREAD_SLEEP as sleep don't exist in WIN32 2006-04-16 17:09:02 +00:00
alexpeshkoff
fb4888dca1 shutdown working threads before server shutdown 2006-04-14 16:46:12 +00:00