Hello,
We are using an Indy Socket Application compiled with KYLIX 3 + ODAC 5.7 and running on a Hyper threading PC.
I mentioned Indy Socket Application because Every Socket access is running within a Thread.
We are getting a full dump application without any Exception message whenever we have multiple users accessing the application.
We found a temporary solution by adding a critical section on every method of TORAQuery, cf example below.
Is there a way to fix this problem via ODAC without having to pass by a critical section?
best regards,
-----------------------------
Example
TMyQuery = class(TOraQuery)
Public
Procedure Open ;
procedure Next ;
procedure Prepare ; override ;
// and other methods/Properties like Connection, execSQL etc ……
end ;
------------------------------
procedure TMyQuery.Open() ;
begin
GCriticalSection.Enter ;
try
inherited Open ;
finally
GcriticalSection.Release ;
end ;
end ;
procedure TMyQuery. Next () ;
begin
GCriticalSection.Enter ;
try
inherited Open ;
finally
GcriticalSection.Release ;
end ;
end ;
procedure TMyQuery. Prepare () ;
begin
GCriticalSection.Enter ;
try
inherited Open ;
finally
GcriticalSection.Release ;
end ;
end ;
-----------------------------
Kylix 3 With Hyper threading machine
Hi,
we are currently having the same problem with linux.
I would like to add that with a windows/Delphi environment, everything runs fine and without the need of any critical section.
We end up using this odd code
:
With a SINGLE PROCESSOR Linux Core, everything runs fine, but our customers are all buying Quad-pro
we are currently having the same problem with linux.
I would like to add that with a windows/Delphi environment, everything runs fine and without the need of any critical section.
We end up using this odd code

Code: Select all
{$IFDEF LINUX} criticalsection.enter...
With a SINGLE PROCESSOR Linux Core, everything runs fine, but our customers are all buying Quad-pro

-
- Devart Team
- Posts: 925
- Joined: Thu 17 Nov 2005 10:53