Newsgroups : Borland : borland.public.delphi.nativeapi.win32 : 2005 Jul : priority conflicts between jet engine and real time app

www.cryer.info
Managed Newsgroup Archive

priority conflicts between jet engine and real time app

Subject:priority conflicts between jet engine and real time app
Posted by:"Otto" (otto.kolbe@nospam.klst.com)
Date:14 Jul 2005 02:28:55

Fighting a weird problem in an application (D7) with a real time
thread (priority 15) using only very little CPU but must be on
time and other threads (normal priority 13) that log events and
trace into a jet database once per second. I use ADO for that.

About once in two hours the real time thread does not execute on
time causing timeouts. Inspection of the process threads shows 4
threads with priority 14 that are not explicitely managed by the
application, one of them is connected to msjet.dll.

I suppose that the jet engine decides sometimes to reorganize the
database (indexes probably) and performs this within a priority
boost thus blocking the real time thread from proper execution.

I am pretty sure that the high priority thread is really affected
by the jet handling threads: if the database is kept busy by
another (test) program reading permanently the last entry in a
table the conflict does not appear.

Is there any known way to influence this behavior of the jet
engine? A reorg under normal priority would be sufficient, an
occasionally missing trace record is no problem.

Replies:

www.cryer.info
Managed Newsgroup Archive