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