Page 1 of 1

Kylix 3 With Hyper threading machine

Posted: Thu 02 Feb 2006 07:47
by Guest
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 ;

-----------------------------

Posted: Thu 02 Feb 2006 10:00
by snl
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 :? :

Code: Select all

{$IFDEF LINUX} criticalsection.enter...

With a SINGLE PROCESSOR Linux Core, everything runs fine, but our customers are all buying Quad-pro :roll:

Posted: Tue 14 Feb 2006 13:24
by Challenger
We couldn't reproduce this problem. Please specify exact versions of Linux,Kylix and gcc you use.